Skip to content

Instantly share code, notes, and snippets.

@gbadner

gbadner/gist:948758

Created Apr 29, 2011
Embed
What would you like to do?
Metamodel tasks
1) MetadataSources -> Metadata -> SessionFactory process
[HHH-6107] - Metamodel dependence on ServiceRegistry (Steve: done)
[HHH-6138] - Implement addition of annotated classes and packages in MetadataSources (Steve: done)
[HHH-6141] - Develop scheme for ordered processing of MetadataSources sources (Steve: done)
A) for HBM XML
[HHH-2578] - redesign SessionFactory building (Steve: done)
[HHH-6145] - Create an "xml binding" service (Steve: open)
B) for EM
[HHH-6149] - Clean up EJB3Configuration (Steve: open)
[HHH-6159] - Determine best way to handle EntityManagerFactory building
(EJB3Configuration) (Steve: open)
2) Pre-processing
A) JAXB-related
[HHH-6111] - Switch to use JAX for xml parsing (Gail: done)
[HHH-6142] - Integrate JAXB-based binding code and MetadataSources (Steve: done)
[HHH-6131] - Add prefix to JAXB generated classes (Hardy: done)
[HHH-6134] - Migrate processing hbm.xml files to use Jaxb-generated classes (Gail: done)
[HHH-????] - Provide a way to create interfaces that JAXB-generated classes implement (???)
B) Annotations
[HHH-6113] - Parse orm.xml (Unassigned: open)
[HHH-6133] - Update indexes w/ data collected from orm.xml (Strong: open)
[HHH-6132] - Parse global data (e.g., fetch profiles, named queries) (John: open)
3) [HHH-5672] - Develop the binding model (binding between logical and relational)
(GB: is this DomainState/RelationalState)
[HHH-6174] - Create table binding (Steve: open) (does this belong here???)
4) Bind global configuration
(shema, catalog, imports, filters, fetch profiles, identifier generators, typedefs,
named/native queries, resultset, auxiliary database object, etc)
A) HBM: [HHH-???]
B) Annotations
[HHH-6132] - Process and bind global configuration annotations (John: open)
[HHH-6126] - Rewrite existing QueryBinder to use new annotation index and metadata (Unassigned: open)
5) Determine proper ordering to bind EntityBindings (based on hierarchy)
A) HBM: [HHH-????]
B) Annotations: [HHH-6114] - Preprocess annotation configuration (Hardy: open)
6) For each EntityBinding (in the order determined by 2) bind domain/relational model:
A) bind simple attributes
[HHH-6092] - HBM XML (Gail: done)
[HHH-5663] - Add read/write wrappers to org.hibernate.metamodel.relational.Column (Steve: open)
(GB: I think I'm working on this???)
[HHH-6171] - Annotations (Hardy: open)
B) bind components
[HHH-????] - HBM XML
[HHH-6173] - Annotations (Unassigned: open)
C) bind value collections
[HHH-????] - HBM XML
[HHH-????] - Annotations
D) bind associations (many-to-one, one-to-many, many-to-many, many-to-any)
Annotations:
[HHH-6172] - Implement association binding via annotations (Unassigned: open)
HBM:
[HHH-6168] - unidirectional many-to-one (Gail: open)
(still need test case...)
E) bind hierarchy (class/subclass, component, etc)
7) Overrides
8) Resolve references
A) associations
i) in domain model
ii) in relational model (e.g., foreign keys)
9) Metadata validation
A) allow validation to be optional (needed???)
B) [HHH-5664] - Validate that each value "path" ends in a SimpleValue (Unassigned: open)
10) Build SessionFactory
A) Integrate metamodel into persisters
B) [HHH-5671] - Apply entity-mode information to the logical model (Gail: open)
11) Functionality that depends on metamodel
A) Metadata-related support for multi-tenancy
[HHH-6093] - Account for tenant identifier on QueryKey (Steve: done)
B) SchemaExport
C) ByteCodeProvider
[HHH-5688] - Migrate BytecodeProvider to be a Service (Steve: open)
D) NamingStrategy (?)
[HHH-6077] - See whether / how NamingStrategy needs an evolution for Core 4.0 (Steve: open)
12) Misc. info (not sure where this fits in to metamodel):
[HHH-5665] - Schema/catalog creation/dropping like AuxiliaryDatabaseObject (Unassigned: open)
[HHH-6074] - Make sure sql type remapping has proper effect on schema export (Steve: open)
[HHH-6045] - Leverage type-defined column sizes (Steve: open)
[HHH-5452] - Dialects with check constraints on table definition as opposed to on column definition
(Steve: open)
@hferentschik

This comment has been minimized.

Copy link

@hferentschik hferentschik commented May 2, 2011

What about generators, native queries, etc
Is this already taken care of in the metamodel?

@stliu

This comment has been minimized.

Copy link

@stliu stliu commented May 2, 2011

HHH-6132 is listed both in 2) and 4)

@gbadner

This comment has been minimized.

Copy link
Owner Author

@gbadner gbadner commented May 2, 2011

Hardy, those are listed under "4) Bind global configuration".

I listed HHH-6132 in both places because it looked like that issue covered both tasks. John, is that correct?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment