@Bean
public LocalContainerEntityManagerfactorybean entityManagerfactorybean() {
Map<String,Object> properties = new Hashtable<>();
properties.put("javax.persistence.schema-generation.database.action","none");
properties.put("hibernate.connection.characterEncoding","utf8");
properties.put("hibernate.connection.useUnicode","true");
properties.put("hibernate.connection.charSet","utf8");
properties.put("hibernate.search.default.directory_provider","filesystem");
properties.put("hibernate.search.default.indexBase",context.getinitParameter("indexDir"));
HibernateJpavendorAdapter adapter = new HibernateJpavendorAdapter();
adapter.setDatabasePlatform("org.hibernate.dialect.MysqL5InnoDBDialect");
LocalContainerEntityManagerfactorybean factory = new LocalContainerEntityManagerfactorybean();
factory.setJpavendorAdapter(adapter);
factory.setDataSource(this.bookManagerDataSource());
factory.setPackagesToScan("net.viperfish.bookManager");
factory.setSharedCacheMode(SharedCacheMode.ENABLE_SELECTIVE);
factory.setValidationMode(ValidationMode.NONE);
factory.setJpaPropertyMap(properties);
return factory;
}
@Bean
@DependsOn(value = {"simpleApplicationContextHolder"})
public LocalContainerEntityManagerfactorybean entityManagerFactory() {
final LocalContainerEntityManagerfactorybean factorybean = new LocalContainerEntityManagerfactorybean();
factorybean.setDataSource(dataSource);
factorybean.setSharedCacheMode(SharedCacheMode.ENABLE_SELECTIVE);
factorybean.setValidationMode(ValidationMode.CALLBACK);
factorybean.setJpavendorAdapter(jpavendorAdapter);
factorybean.setPackagesToScan("com.devicehive.model");
final Properties props = new Properties();
props.putAll(this.properties.getHibernateProperties(this.dataSource));
if (useNativeClient) {
props.put("hibernate.cache.hazelcast.native_client_group",groupName);
props.put("hibernate.cache.hazelcast.native_client_password",groupPassword);
if (!CollectionUtils.isEmpty(clusterMembers)) {
props.put("hibernate.cache.hazelcast.native_client_address",clusterMembers.get(0));
}
}
factorybean.setJpaProperties(props);
return factorybean;
}
项目:aries-jpa
文件:JPAHandler.java
@Override
public void endElement(String uri,String localName,String name) throws SAXException {
String s = builder.toString().trim();
// This step is VERY important,otherwise we pollute subsequent
// elements
builder = new StringBuilder();
if ("".equals(s))
return;
PersistenceUnit pu = persistenceUnits.peek();
if ("provider".equals(elementName))
pu.setProviderClassName(s);
else if ("jta-data-source".equals(elementName))
pu.setJtaDataSourceName(s);
else if ("non-jta-data-source".equals(elementName))
pu.setNonJtaDataSourceName(s);
else if ("class".equals(elementName))
pu.addClassName(s);
else if("mapping-file".equals(elementName))
pu.addMappingFile(s);
else if ("exclude-unlisted-classes".equals(elementName))
pu.setExcludeUnlisted(Boolean.parseBoolean(s));
else if ("shared-cache-mode".equals(elementName))
pu.setSharedCacheMode(SharedCacheMode.valueOf(s));
else if ("validation-mode".equals(elementName))
pu.setValidationMode(ValidationMode.valueOf(s));
}
@Bean
public LocalContainerEntityManagerfactorybean entityManagerfactorybean() {
Map<String,Object> properties = new HashMap<>();
// properties.put("javax.persistence.schema-generation.database.action","none"); // 没有update选项,只有:none、create、drop-and-create、drop,不满足开发需求
// properties.put("hibernate.hbm2ddl.auto","update"); // 使用adapter.setGenerateDdl(true),避免拼写错误;
properties.put("hibernate.ejb.use_class_enhancer","true");
properties.put("hibernate.search.default.directory_provider","filesystem");
properties.put("hibernate.search.lucene_version","5.3.1"); // 避免控制台警告,默认使用LUCENE_CURRENT
properties.put("hibernate.search.default.indexBase","../amanda/searchIndexes");
// properties.put("hibernate.show_sql","true");
// properties.put("hibernate.format_sql","true");
properties.put("hibernate.use_sql_comments","true");
properties.put("hibernate.physical_naming_strategy","com.timeyang.amanda.core.jpa.naming.PhysicalNamingStrategyImpl");
LocalContainerEntityManagerfactorybean factory =
new LocalContainerEntityManagerfactorybean();
factory.setDataSource(this.dataSource);
factory.setJpavendorAdapter(jpavendorAdapter());
factory.setPackagesToScan(AmandaApplication.class.getPackage().getName());
factory.setSharedCacheMode(SharedCacheMode.ENABLE_SELECTIVE);
factory.setValidationMode(ValidationMode.NONE);
factory.setLoadTimeweaver(this.loadTimeweaver()); // Todo: remove when SPR-10856 fixed
factory.setJpaPropertyMap(properties);
return factory;
}
private PersistenceUnitInfo createPersistenceUnitInfo() {
PersistenceUnitInfo persistenceUnitInfo = mock(PersistenceUnitInfo.class);
when(persistenceUnitInfo.getPersistenceUnitRootUrl()).thenReturn(createPersistenceUnitRootUrl());
when(persistenceUnitInfo.getPersistenceUnitName()).thenReturn("annotation-based-field-access");
when(persistenceUnitInfo.getTransactionType())
.thenReturn(PersistenceUnitTransactionType.RESOURCE_LOCAL);
when(persistenceUnitInfo.getValidationMode()).thenReturn(ValidationMode.AUTO);
when(persistenceUnitInfo.getSharedCacheMode()).thenReturn(SharedCacheMode.UNSPECIFIED);
when(persistenceUnitInfo.getJtaDataSource()).thenReturn(null);
when(persistenceUnitInfo.getNonJtaDataSource()).thenReturn(null);
when(persistenceUnitInfo.getNewTempClassLoader()).thenReturn(null);
when(persistenceUnitInfo.getMappingFileNames()).thenReturn(Collections.<String>emptyList());
when(persistenceUnitInfo.getJarFileUrls()).thenReturn(Collections.<URL>emptyList());
when(persistenceUnitInfo.getPersistenceProviderClassName())
.thenReturn(SecurePersistenceProvider.class.getName());
when(persistenceUnitInfo.getClassLoader())
.thenReturn(Thread.currentThread().getContextClassLoader());
when(persistenceUnitInfo.getManagedClassNames()).thenReturn(Arrays.asList(
FieldAccessAnnotationTestBean.class.getName(),FieldAccessMapKey.class.getName(),FieldAccessMapValue.class.getName()
));
when(persistenceUnitInfo.excludeUnlistedClasses()).thenReturn(true);
Properties properties = new Properties();
properties.put("org.jpasecurity.persistence.provider","org.hibernate.ejb.HibernatePersistence");
properties.put("org.jpasecurity.security.context","org.jpasecurity.security.authentication.TestSecurityContext");
properties.put("org.jpasecurity.security.rules.provider","org.jpasecurity.security.rules.XmlAccessRulesProvider");
properties.put("hibernate.hbm2ddl.auto","create-drop");
properties.put("hibernate.dialect","org.hibernate.dialect.HsqlDialect");
properties.put("hibernate.connection.driver_class","org.hsqldb.jdbcDriver");
properties.put("hibernate.connection.url","jdbc:hsqldb:mem:test");
properties.put("hibernate.connection.username","sa");
properties.put("hibernate.connection.password","");
when(persistenceUnitInfo.getProperties()).thenReturn(properties);
return persistenceUnitInfo;
}
项目:LSChatServer
文件:ApplicationRootContext.java
@Bean
public LocalContainerEntityManagerfactorybean entityManagerfactorybean()
throws ConfigurationException,IOException {
Map<String,Object> properties = new Hashtable<>();
String indexPath = this.configuration().getString(GlobalConfig.INDEX_PATH);
if (indexPath == null) {
indexPath = GlobalConfig.INDEX_PATH_DEFAULT;
}
properties.put("javax.persistence.schema-generation.database.action",indexPath);
HibernateJpavendorAdapter adapter = new HibernateJpavendorAdapter();
adapter.setDatabasePlatform("org.hibernate.dialect.MysqL5InnoDBDialect");
LocalContainerEntityManagerfactorybean factory = new LocalContainerEntityManagerfactorybean();
factory.setJpavendorAdapter(adapter);
factory.setDataSource(this.chatDataSource());
factory.setPackagesToScan("net.viperfish.chatapplication");
factory.setSharedCacheMode(SharedCacheMode.ENABLE_SELECTIVE);
factory.setValidationMode(ValidationMode.NONE);
factory.setJpaPropertyMap(properties);
return factory;
}
@Override
protected Map<String,Object> getvendorProperties() {
LOGGER.info("PersistenceConfiguration.getvendorProperties()");
HashMap<String,Object> vendorProperties = new HashMap<>();
vendorProperties.put(PersistenceUnitProperties.WEAVING,detectWeavingMode());
vendorProperties.put(PersistenceUnitProperties.VALIDATION_MODE,ValidationMode.NONE.toString());
return vendorProperties;
}
项目:wisdom-jdbc
文件:PersistenceUnitComponent.java
@Override
public ValidationMode getValidationMode() {
PersistenceUnitValidationModeType validationMode = persistenceUnitXml.getValidationMode();
if (validationMode == null) {
return null;
}
return ValidationMode.valueOf(validationMode.name());
}
项目:bundles
文件:PersistenceUnitInfoImpl.java
@Override
public ValidationMode getValidationMode() {
PersistenceUnitValidationModeType validationMode = persistenceUnitXml.getValidationMode();
if (validationMode == null)
return null;
return ValidationMode.valueOf(validationMode.name());
}
项目:debop4j
文件:JpaTestBase.java
@Before
public void createFactory() throws MalformedURLException {
GetterPersistenceUnitInfo info = new GetterPersistenceUnitInfo();
info.setClassLoader(Thread.currentThread().getContextClassLoader());
//we explicitly list them to avoid scanning
info.setExcludeUnlistedClasses(true);
info.setJtaDataSource(new NoopDatasource());
List<String> classNames = new ArrayList<String>();
for (Class<?> clazz : getEntities()) {
classNames.add(clazz.getName());
}
info.setManagedClassNames(classNames);
info.setNonJtaDataSource(null);
info.setPersistenceProviderClassName(HibernateOgmPersistence.class.getName());
info.setPersistenceUnitName("default");
final URL persistenceUnitRootUrl = new File("").toURL();
info.setPersistenceUnitRootUrl(persistenceUnitRootUrl);
info.setPersistenceXMLSchemaVersion("2.0");
info.setProperties(new Properties());
info.setSharedCacheMode(SharedCacheMode.ENABLE_SELECTIVE);
info.setTransactionType(PersistenceUnitTransactionType.JTA);
info.setValidationMode(ValidationMode.AUTO);
info.getProperties().setProperty(Environment.JTA_PLATFORM,JBossstandAloneJtaPlatform.class.getName()
);
// MassIndexerFactoryIntegrator is defined at 4.3.0
// info.getProperties().setProperty(MassIndexerFactoryIntegrator.MASS_INDEXER_FACTORY_CLASSNAME,OgmMassIndexerFactory.class.getName());
for (Map.Entry<String,String> entry : TestHelper.getEnvironmentProperties().entrySet()) {
info.getProperties().setProperty(entry.getKey(),entry.getValue());
}
refineInfo(info);
factory = new HibernateOgmPersistence().createContainerEntityManagerFactory(info,Collections.EMPTY_MAP);
transactionManager = extractJBosstransactionManager(factory);
}
项目:tomee
文件:PersistenceUnit.java
public ValidationMode getValidationMode() {
if (validationMode == null) {
final String propConfig = getProperty("javax.persistence.validation.mode");
if (propConfig != null) {
try {
validationMode = ValidationMode.valueOf(propConfig.toupperCase());
} catch (final IllegalArgumentException iae) { // can happen since some provider allow more than the enum
// no-op
}
}
}
return (validationMode == null) ? ValidationMode.AUTO : validationMode;
}
项目:tomee
文件:ReloadableEntityManagerFactory.java
public synchronized void setValidationMode(final ValidationMode mode) {
final PersistenceUnitInfoImpl info = entityManagerFactoryCallable.getUnitInfo();
info.setValidationMode(mode);
final Properties properties = entityManagerFactoryCallable.getUnitInfo().getProperties();
if (properties.containsKey(JAVAX_PERSISTENCE_VALIDATION_MODE)) {
properties.setProperty(JAVAX_PERSISTENCE_VALIDATION_MODE,mode.name());
}
}
项目:tomee
文件:ReloadableEntityManagerFactory.java
@ManagedOperation
@Description("change the validation mode if possible (value is ok)")
public void setValidationMode(final String value) {
try {
final ValidationMode mode = ValidationMode.valueOf(value.trim().toupperCase());
reloadableEntityManagerFactory.setValidationMode(mode);
} catch (final Exception iae) {
LOGGER.warning("Can't set validation mode " + value,iae);
reloadableEntityManagerFactory.setProperty(JAVAX_PERSISTENCE_VALIDATION_MODE,value);
}
}
@Override
public ValidationMode getValidationMode() {
String s = (String) parsedPersistenceUnit.getPersistenceXmlMetadata()
.get(ParsedPersistenceUnit.VALIDATION_MODE);
if (s == null) {
return ValidationMode.AUTO;
} else {
return ValidationMode.valueOf(s);
}
}
项目:testee.fi
文件:PersistenceUnitInfoImpl.java
@Override
public ValidationMode getValidationMode() {
return null;
}
项目:aries-jpa
文件:PersistenceUnit.java
@Override
public ValidationMode getValidationMode() {
return this.validationMode;
}
项目:aries-jpa
文件:PersistenceUnit.java
public void setValidationMode(ValidationMode validationMode) {
this.validationMode = validationMode;
}
项目:aries-jpa
文件:PersistenceUnitProxyWithTargetServer.java
@Override
public ValidationMode getValidationMode() {
return delegate.getValidationMode();
}
项目:lams
文件:PersistenceUnitReader.java
/**
* Parse the unit info DOM element.
*/
protected SpringPersistenceUnitInfo parsePersistenceUnitInfo(Element persistenceUnit,String version,URL rootUrl)
throws IOException {
SpringPersistenceUnitInfo unitInfo = new SpringPersistenceUnitInfo();
// set JPA version (1.0 or 2.0)
unitInfo.setPersistenceXMLSchemaVersion(version);
// set persistence unit root URL
unitInfo.setPersistenceUnitRootUrl(rootUrl);
// set unit name
unitInfo.setPersistenceUnitName(persistenceUnit.getAttribute(UNIT_NAME).trim());
// set transaction type
String txType = persistenceUnit.getAttribute(TRANSACTION_TYPE).trim();
if (StringUtils.hasText(txType)) {
unitInfo.setTransactionType(PersistenceUnitTransactionType.valueOf(txType));
}
// evaluate data sources
String jtaDataSource = DomUtils.getChildElementValueByTagName(persistenceUnit,JTA_DATA_SOURCE);
if (StringUtils.hasText(jtaDataSource)) {
unitInfo.setJtaDataSource(this.dataSourceLookup.getDataSource(jtaDataSource.trim()));
}
String nonJtaDataSource = DomUtils.getChildElementValueByTagName(persistenceUnit,NON_JTA_DATA_SOURCE);
if (StringUtils.hasText(nonJtaDataSource)) {
unitInfo.setNonJtaDataSource(this.dataSourceLookup.getDataSource(nonJtaDataSource.trim()));
}
// provider
String provider = DomUtils.getChildElementValueByTagName(persistenceUnit,PROVIDER);
if (StringUtils.hasText(provider)) {
unitInfo.setPersistenceProviderClassName(provider.trim());
}
// exclude unlisted classes
Element excludeUnlistedClasses = DomUtils.getChildElementByTagName(persistenceUnit,EXCLUDE_UNLISTED_CLASSES);
if (excludeUnlistedClasses != null) {
String excludeText = DomUtils.getTextValue(excludeUnlistedClasses);
unitInfo.setExcludeUnlistedClasses(!StringUtils.hasText(excludeText) || Boolean.valueOf(excludeText));
}
// set JPA 2.0 shared cache mode
String cacheMode = DomUtils.getChildElementValueByTagName(persistenceUnit,SHARED_CACHE_MODE);
if (StringUtils.hasText(cacheMode)) {
unitInfo.setSharedCacheMode(SharedCacheMode.valueOf(cacheMode));
}
// set JPA 2.0 validation mode
String validationMode = DomUtils.getChildElementValueByTagName(persistenceUnit,VALIDATION_MODE);
if (StringUtils.hasText(validationMode)) {
unitInfo.setValidationMode(ValidationMode.valueOf(validationMode));
}
parseProperties(persistenceUnit,unitInfo);
parseManagedClasses(persistenceUnit,unitInfo);
parseMappingFiles(persistenceUnit,unitInfo);
parseJarFiles(persistenceUnit,unitInfo);
return unitInfo;
}
项目:lams
文件:MutablePersistenceUnitInfo.java
public void setValidationMode(ValidationMode validationMode) {
this.validationMode = validationMode;
}
项目:lams
文件:MutablePersistenceUnitInfo.java
@Override
public ValidationMode getValidationMode() {
return this.validationMode;
}
项目:vertx-jpa
文件:DefaultPersistenceUnitInfoImpl.java
public ValidationMode getValidationMode() {
return validationMode;
}
项目:vertx-jpa
文件:DefaultPersistenceUnitInfoImpl.java
public void setValidationMode(ValidationMode validationMode) {
this.validationMode = validationMode;
}
项目:hibernate-types
文件:PersistenceUnitInfoImpl.java
@Override
public ValidationMode getValidationMode() {
return ValidationMode.AUTO;
}
项目:jk-db
文件:JKPersistenceUnitInfoImpl.java
@Override
public ValidationMode getValidationMode() {
return ValidationMode.AUTO;
}
项目:spring4-understanding
文件:PersistenceUnitReader.java
/**
* Parse the unit info DOM element.
*/
protected SpringPersistenceUnitInfo parsePersistenceUnitInfo(Element persistenceUnit,unitInfo);
return unitInfo;
}
项目:spring4-understanding
文件:MutablePersistenceUnitInfo.java
public void setValidationMode(ValidationMode validationMode) {
this.validationMode = validationMode;
}
项目:spring4-understanding
文件:MutablePersistenceUnitInfo.java
@Override
public ValidationMode getValidationMode() {
return this.validationMode;
}
项目:carbon
文件:DefaultPersistenceUnitInfo.java
@Override
public ValidationMode getValidationMode() {
return ValidationMode.AUTO;
}
项目:jspare-container
文件:DefaultPersistenceUnitInfoImpl.java
public ValidationMode getValidationMode() {
return validationMode;
}
项目:jspare-container
文件:DefaultPersistenceUnitInfoImpl.java
public void setValidationMode(ValidationMode validationMode) {
this.validationMode = validationMode;
}
项目:cibet
文件:DefaultPersistenceUnitInfo.java
public ValidationMode getValidationMode() {
return validationMode;
}
项目:cibet
文件:DefaultPersistenceUnitInfo.java
public void setValidationMode(ValidationMode mode) {
validationMode = mode;
}
项目:cibet
文件:DelegatingPersistenceUnitInfo.java
public ValidationMode getValidationMode() {
return delegate.getValidationMode();
}
public ValidationMode getValidationMode() {
return delegate.getValidationMode();
}
项目:rise
文件:PersistenceUnitManagerHelper.java
public MutablePersistenceUnitInfo createUnit(Class<? extends Annotation> qualifier,String unitName) {
ClassLoader classLoader = holder.getCurrentReloadableClassLoader();
MutablePersistenceUnitInfo result = new MutablePersistenceUnitInfo();
result.setExcludeUnlistedClasses(true);
result.setValidationMode(ValidationMode.NONE);
result.setPersistenceUnitName(unitName);
result.setSharedCacheMode(SharedCacheMode.ENABLE_SELECTIVE);
try {
result.setPersistenceUnitRootUrl(new URL("http://foo.foo"));
} catch (MalformedURLException e) {
throw new RuntimeException(e);
}
result.addProperty(PersistenceUnitProperties.SESSION_CUSTOMIZER,CompositeSessionCustomizer.class.getName());
// search for entities
{
Set<Class<?>> jpaAnnotations = new HashSet<>(
Arrays.asList(Entity.class,MappedSuperclass.class,Embeddable.class));
for (ClassNode classNode : index.getAllNodes()) {
String className = Type.getobjectType(classNode.name).getClassName();
if (classNode.visibleAnnotations == null)
continue;
boolean jpaAnnotationFound = false;
for (AnnotationNode annotation : classNode.visibleAnnotations) {
Class<?> annotationClass = AsmUtil.loadClass(Type.getType(annotation.desc),classLoader);
// test if the annotation is one of the jpa annotations
if (jpaAnnotations.contains(annotationClass))
jpaAnnotationFound = true;
}
if (jpaAnnotationFound && isPartOfPU(classNode,qualifier,classLoader)) {
result.addManagedClassName(className);
}
}
}
// search converters
{
index.getAllChildren(AttributeConverter.class).stream()
.filter(node -> isPartOfPU(node,classLoader))
.map(node -> AsmUtil.loadClass(Type.getobjectType(node.name),classLoader)).forEach(cls -> {
Converter converter = cls.getAnnotation(Converter.class);
if (converter != null && converter.autoApply())
result.addManagedClassName(cls.getName());
});
}
return result;
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。