Skip to content

Instantly share code, notes, and snippets.

@gbadner
Created April 29, 2011 18:22
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save gbadner/948758 to your computer and use it in GitHub Desktop.
Save gbadner/948758 to your computer and use it in GitHub Desktop.
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
Copy link

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

@stliu
Copy link

stliu commented May 2, 2011

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

@gbadner
Copy link
Author

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