本文整理了Java中org.hibernate.boot.MetadataBuilder.build()
方法的一些代码示例,展示了MetadataBuilder.build()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。MetadataBuilder.build()
方法的具体详情如下:
包路径:org.hibernate.boot.MetadataBuilder
类名称:MetadataBuilder
方法名:build
[英]Actually build the metamodel
[中]实际构建元模型
代码示例来源:origin: hibernate/hibernate-orm
/**
* Short-hand form of calling {@link #getMetadataBuilder()} and using its
* {@link org.hibernate.boot.MetadataBuilder#build()} method in cases where the application wants
* to accept the defaults.
*
* @return The built metadata.
*/
public Metadata buildMetadata() {
return getMetadataBuilder().build();
}
代码示例来源:origin: hibernate/hibernate-orm
public Metadata buildMetadata(StandardServiceRegistry serviceRegistry) {
return getMetadataBuilder( serviceRegistry ).build();
}
代码示例来源:origin: hibernate/hibernate-orm
@Test
public void testHbmXmlHandling() {
final Metadata metadata = new MetadataSources( ssr )
.addResource( "org/hibernate/test/namingstrategy/synchronizedTables/mapping.hbm.xml" )
.getMetadataBuilder()
.applyPhysicalNamingStrategy( TestingPhysicalNamingStrategy.INSTANCE )
.build();
verify( metadata.getEntityBinding( DynamicEntity.class.getName() ) );
}
代码示例来源:origin: hibernate/hibernate-orm
@Test
public void testAnnotationHandling() {
final Metadata metadata = new MetadataSources( ssr )
.addAnnotatedClass( DynamicEntity.class )
.getMetadataBuilder()
.applyPhysicalNamingStrategy( TestingPhysicalNamingStrategy.INSTANCE )
.build();
verify( metadata.getEntityBinding( DynamicEntity.class.getName() ) );
}
代码示例来源:origin: hibernate/hibernate-orm
@Test
public void testWithJpaCompliantNamingStrategy() throws Exception {
Metadata metadata = new MetadataSources( serviceRegistry )
.addAnnotatedClass( A.class )
.addAnnotatedClass( AddressEntry.class )
.getMetadataBuilder()
.applyImplicitNamingStrategy( ImplicitNamingStrategyJpaCompliantImpl.INSTANCE )
.build();
Collection collectionBinding = metadata.getCollectionBinding( A.class.getName() + ".address" );
assertEquals(
"Expecting A#address collection table name (implicit) to be [A_address] per JPA spec (section 11.1.8)",
"A_ADDRESS",
collectionBinding.getCollectionTable().getQuotedName().toUpperCase(Locale.ROOT)
);
}
代码示例来源:origin: hibernate/hibernate-orm
@BeforeClassOnce
public void setUp() {
ssr = new StandardServiceRegistryBuilder().build();
metadata = (MetadataImplementor) new MetadataSources( ssr )
.addAnnotatedClass( VMTimestamped.class )
.addAnnotatedClass( DBTimestamped.class )
.getMetadataBuilder()
.build();
}
代码示例来源:origin: hibernate/hibernate-orm
@Test
public void testWithCustomNamingStrategy() throws Exception {
new MetadataSources( serviceRegistry )
.addAnnotatedClass(Address.class)
.addAnnotatedClass(Person.class)
.getMetadataBuilder()
.applyPhysicalNamingStrategy( new DummyNamingStrategy() )
.build();
}
代码示例来源:origin: hibernate/hibernate-orm
@Test
public void testSessionFactoryInterceptor() {
Serializable customerId = 1L;
//tag::events-interceptors-session-factory-scope-example[]
SessionFactory sessionFactory = new MetadataSources( new StandardServiceRegistryBuilder().build() )
.addAnnotatedClass( Customer.class )
.getMetadataBuilder()
.build()
.getSessionFactoryBuilder()
.applyInterceptor( new LoggingInterceptor() )
.build();
//end::events-interceptors-session-factory-scope-example[]
Session session = sessionFactory.openSession();
session.getTransaction().begin();
Customer customer = session.get( Customer.class, customerId );
customer.setName( "Mr. John Doe" );
//Entity Customer#1 changed from [John Doe, 0] to [Mr. John Doe, 0]
session.getTransaction().commit();
session.close();
sessionFactory.close();
}
代码示例来源:origin: hibernate/hibernate-orm
@Test
public void testWithUpperCaseNamingStrategy() throws Exception {
Metadata metadata = new MetadataSources( serviceRegistry )
.addAnnotatedClass(A.class)
.getMetadataBuilder()
.applyPhysicalNamingStrategy( new PhysicalNamingStrategyStandardImpl() {
@Override
public Identifier toPhysicalColumnName(
Identifier name, JdbcEnvironment context) {
return new Identifier( name.getText().toUpperCase(), name.isQuoted() );
}
} )
.build();
PersistentClass entityBinding = metadata.getEntityBinding( A.class.getName() );
assertEquals("NAME",
((Selectable) entityBinding.getProperty( "name" ).getColumnIterator().next()).getText());
assertEquals("VALUE",
((Selectable) entityBinding.getProperty( "value" ).getColumnIterator().next()).getText());
}
代码示例来源:origin: hibernate/hibernate-orm
@Test
public void testWithCustomNamingStrategy() throws Exception {
Metadata metadata = new MetadataSources( serviceRegistry )
.addAnnotatedClass(Address.class)
.addAnnotatedClass(Person.class)
.getMetadataBuilder()
.applyImplicitNamingStrategy( new LongIdentifierNamingStrategy() )
.build();
UniqueKey uniqueKey = metadata.getEntityBinding( Address.class.getName()).getTable().getUniqueKeyIterator().next();
assertEquals( expectedUniqueKeyName(), uniqueKey.getName() );
org.hibernate.mapping.ForeignKey foreignKey =
(org.hibernate.mapping.ForeignKey) metadata.getEntityBinding( Address.class.getName()).getTable().getForeignKeyIterator().next();
assertEquals( expectedForeignKeyName(), foreignKey.getName() );
org.hibernate.mapping.Index index = metadata.getEntityBinding( Address.class.getName()).getTable().getIndexIterator().next();
assertEquals( expectedIndexName(), index.getName() );
}
代码示例来源:origin: hibernate/hibernate-orm
@Test
public void testCollectionAsBasic() {
StandardServiceRegistry ssr = new StandardServiceRegistryBuilder().build();
try {
Metadata metadata = new MetadataSources(ssr).addAnnotatedClass( Post.class )
.getMetadataBuilder().applyBasicType( new DelimitedStringsType() )
.build();
PersistentClass postBinding = metadata.getEntityBinding( Post.class.getName() );
Property tagsAttribute = postBinding.getProperty( "tags" );
}
finally {
StandardServiceRegistryBuilder.destroy( ssr );
}
}
代码示例来源:origin: hibernate/hibernate-orm
protected void buildResources() {
final StandardServiceRegistryBuilder ssrb = constructStandardServiceRegistryBuilder();
serviceRegistry = ssrb.build();
afterStandardServiceRegistryBuilt( serviceRegistry );
final MetadataSources metadataSources = new MetadataSources( serviceRegistry );
applyMetadataSources( metadataSources );
afterMetadataSourcesApplied( metadataSources );
final MetadataBuilder metadataBuilder = metadataSources.getMetadataBuilder();
initialize( metadataBuilder );
configureMetadataBuilder( metadataBuilder );
metadata = (MetadataImplementor) metadataBuilder.build();
applyCacheSettings( metadata );
afterMetadataBuilt( metadata );
final SessionFactoryBuilder sfb = metadata.getSessionFactoryBuilder();
initialize( sfb, metadata );
configureSessionFactoryBuilder( sfb );
sessionFactory = (SessionFactoryImplementor) sfb.build();
afterSessionFactoryBuilt( sessionFactory );
}
代码示例来源:origin: hibernate/hibernate-orm
@BeforeClassOnce
public void setUp() {
ssr = new StandardServiceRegistryBuilder().build();
metadata = (MetadataImplementor) new MetadataSources( ssr )
.addAnnotatedClass( Category.class )
.addAnnotatedClass( Item.class )
.addAnnotatedClass( Workflow.class )
.getMetadataBuilder()
.applyImplicitNamingStrategy( new MyNamingStrategy() )
.build();
}
代码示例来源:origin: hibernate/hibernate-orm
@Test
@TestForIssue(jiraKey = "HHH-12791")
public void testOnlyOneProxyClassGenerated() {
StandardServiceRegistry ssr = new StandardServiceRegistryBuilder().build();
try {
Metadata metadata = new MetadataSources( ssr ).addAnnotatedClass( Person.class )
.getMetadataBuilder().applyBasicType( new DelimitedStringsType() )
.build();
PersistentClass persistentClass = metadata.getEntityBinding( Person.class.getName() );
ComponentType componentType1 = (ComponentType) persistentClass.getIdentifierMapper().getType();
Object instance1 = componentType1.instantiate( EntityMode.POJO );
ComponentType componentType2 = (ComponentType) persistentClass.getIdentifierMapper().getType();
Object instance2 = componentType2.instantiate( EntityMode.POJO );
assertEquals( instance1.getClass(), instance2.getClass() );
}
finally {
StandardServiceRegistryBuilder.destroy( ssr );
}
}
}
代码示例来源:origin: hibernate/hibernate-orm
@Test
@TestForIssue( jiraKey = "HHH-9908" )
public void testCollectionJoinTableNamingBase() {
// really the same as the JPA compliant tests; here we just pick up the default ImplicitNamingStrategy
final MetadataSources metadataSources = new MetadataSources();
try {
metadataSources.addAnnotatedClass( Input.class );
metadataSources.addAnnotatedClass( Ptx.class );
final Metadata metadata = metadataSources.getMetadataBuilder()
.build();
assertSameTableUsed( metadata );
}
finally {
ServiceRegistry metaServiceRegistry = metadataSources.getServiceRegistry();
if(metaServiceRegistry instanceof BootstrapServiceRegistry ) {
BootstrapServiceRegistryBuilder.destroy( metaServiceRegistry );
}
}
}
代码示例来源:origin: hibernate/hibernate-orm
@Test
public void testEntityWithMultipleJoinFetchedBags() {
StandardServiceRegistry standardRegistry = new StandardServiceRegistryBuilder().build();
Metadata metadata = new MetadataSources( standardRegistry )
.addAnnotatedClass( Post.class )
.addAnnotatedClass( PostComment.class )
.addAnnotatedClass( Tag.class )
.getMetadataBuilder()
.build();
try {
metadata.buildSessionFactory();
fail( "MultipleBagFetchException should have been thrown." );
}
catch (MultipleBagFetchException expected) {
}
}
代码示例来源:origin: hibernate/hibernate-orm
@Test
@TestForIssue( jiraKey = "HHH-9908" )
public void testCollectionJoinTableNamingLegacyJpaStrategy() {
final MetadataSources metadataSources = new MetadataSources();
try {
metadataSources.addAnnotatedClass( Input.class );
metadataSources.addAnnotatedClass( Ptx.class );
final Metadata metadata = metadataSources.getMetadataBuilder()
.applyImplicitNamingStrategy( ImplicitNamingStrategyLegacyJpaImpl.INSTANCE )
.build();
assertSameTableUsed( metadata );
}
finally {
ServiceRegistry metaServiceRegistry = metadataSources.getServiceRegistry();
if(metaServiceRegistry instanceof BootstrapServiceRegistry ) {
BootstrapServiceRegistryBuilder.destroy( metaServiceRegistry );
}
}
}
代码示例来源:origin: hibernate/hibernate-orm
@Test
@TestForIssue( jiraKey = "HHH-9913" )
public void testNonAggregatedCompositeIdWithPkClass() {
// HHH-9913 reports a NPE when bootstrapping a SF with non-aggregated composite identifiers
// in org.hibernate.cache.internal.CacheDataDescriptionImpl#decode
StandardServiceRegistry ssr = new StandardServiceRegistryBuilder().build();
try {
new MetadataSources( ssr )
.addAnnotatedClass( ItWithPkClass.class )
.getMetadataBuilder()
.applySharedCacheMode( SharedCacheMode.ENABLE_SELECTIVE )
.build()
.buildSessionFactory();
}
finally {
StandardServiceRegistryBuilder.destroy( ssr );
}
}
}
代码示例来源:origin: hibernate/hibernate-orm
@Test
@TestForIssue( jiraKey = "HHH-9908" )
public void testCollectionJoinTableNamingJpaCompliantStrategy() {
// Even in 4.3, with JPA compliant naming, Hibernate creates an unusable table...
final MetadataSources metadataSources = new MetadataSources();
try {
metadataSources.addAnnotatedClass( Input.class );
metadataSources.addAnnotatedClass( Ptx.class );
final Metadata metadata = metadataSources.getMetadataBuilder()
.applyImplicitNamingStrategy( ImplicitNamingStrategyJpaCompliantImpl.INSTANCE )
.build();
assertSameTableUsed( metadata );
}
finally {
ServiceRegistry metaServiceRegistry = metadataSources.getServiceRegistry();
if(metaServiceRegistry instanceof BootstrapServiceRegistry ) {
BootstrapServiceRegistryBuilder.destroy( metaServiceRegistry );
}
}
}
代码示例来源:origin: hibernate/hibernate-orm
@Test
@TestForIssue( jiraKey = "HHH-9913" )
public void testNonAggregatedCompositeId() {
// HHH-9913 reports a NPE when bootstrapping a SF with non-aggregated composite identifiers
// in org.hibernate.cache.internal.CacheDataDescriptionImpl#decode
StandardServiceRegistry ssr = new StandardServiceRegistryBuilder()
.applySetting( AvailableSettings.USE_SECOND_LEVEL_CACHE, true )
.build();
try {
new MetadataSources( ssr )
.addAnnotatedClass( It.class )
.getMetadataBuilder()
.applySharedCacheMode( SharedCacheMode.ENABLE_SELECTIVE )
.build()
.buildSessionFactory();
}
finally {
StandardServiceRegistryBuilder.destroy( ssr );
}
}
内容来源于网络,如有侵权,请联系作者删除!