Issue tracking numbers can be looked up in JIRA on http://www.hibernate.org/ if you want to verify the current state.
3.1beta8 Preview (20-01-2006)
-----------------------------
** Bug
* [ANN-132] - transient fields are considered to be persistent when not annotated with @Transient
* [ANN-162] - OneToMany mapping from annotated to hbm loaded class fails with infinite loop
* [ANN-175] - extractType executed on @Transient and fail when the return type is <T extends MembershipData> T
* [ANN-176] - Endless loop when annotated class references by ManyToOne class mapped in .hbm.xml
* [ANN-177] - unable to use referencedColumnName = joined subclass primary column name
* [ANN-178] - Different handling column naming with @JoinColumn between 3.1beta5 and 3.1beta7
* [ANN-180] - Indexed collection, field access, onetomany+mappedby seems to fail
* [ANN-187] - Unable to referenceColumnName a column (property) of the super class
* [ANN-193] - @IdClass should work on @MappedSuperclass
* [ANN-199] - NPE when mappedBy property is wrong on a @OneToOne
* [ANN-214] - Annotation website documentation syntax error
** New Feature
* [ANN-147] - Allow embeddable subclasses in the middle of a class hierarchy
* [ANN-172] - Delegates the SQL type of enum to @Enumerated
* [ANN-188] - @Email for validator
* [ANN-190] - @TableGenerator as per the pfd instead of @GeneratorIdTable & co
* [ANN-191] - Non entity classes in between entity classes in the hierarchy
* [ANN-200] - Support of @Basic, @Lob, @Enumerated, @Temporal as per the PFD
* [ANN-209] - @Named(Native)Query(hints=...)
** Improvement
* [ANN-17] - Support dotted annotation when declaring resultsets
* [ANN-56] - @AccessType: Support mixed field/property access strategies for an Entity
* [ANN-192] - Access type guessed from position of @Id or @EmbeddedId
* [ANN-194] - Access type guessed from owner entity for Embeddable objects
* [ANN-198] - Better error message when @ManyToOne references an unknown entity
* [ANN-201] - Rename @EmbeddableSuperclass into @MappedSuperclass
* [ANN-203] - Move to @Id @GeneratedValue(strategy=AUTO, generator="blah")
* [ANN-204] - @TableGenerator instead of @TableGenerator and @GeneratedIdTable
* [ANN-205] - @NamedQuery(query=...) instead of @NamedQuery(queryString=...) same for @NamedNativeQuery
* [ANN-215] - Support SqlResutSetMapping with dotted notation in arbitrary order
* [ANN-216] - Support scalar queries through @ColumnResult
* [ANN-218] - @SecondaryTable(PrimaryKeyJoinColumn[] pkJoinColumns) instead of @SecondaryTable(JoinColumn[] joins() )
* [ANN-219] - @JoinTable(name, catalog, schema, uniqueConstraints) instead of @JoinTable(table=@Table())
* [ANN-220] - @Column(table=) and @JoinColumn(table=) instead of @Column(secondaryTable=)
* [ANN-221] - @Inheritance(strategy), @DiscriminatorColumn(discriminatorType), @DiscriminatorValue instead of @Inheritance
* [ANN-225] - @EntityListeners replace @EntityListener
3.1beta7 Preview (13-12-2005)
-----------------------------
** Bug
* [ANN-114] - NPE when SecondaryTable uses a non pk reference column in @JoinColumn
* [ANN-115] - @Index does not work on joincolumns
* [ANN-117] - setOrphanDelete not set causing some delete-orphan .clear() to fail
* [ANN-123] - Support for Generics superclass
* [ANN-124] - FIELD constant thing is wrong in the doc
* [ANN-133] - Bytecode enhancement process adds non-transient properties to beans
* [ANN-135] - Inconsistent range check between Range Validator class and generated DDL.
* [ANN-136] - Validator annotations not applied to the hibernate metamodel for id properties
* [ANN-139] - SINGLE_TABLE inheritance raise an WrongClassException under certain circumstances
* [ANN-142] - Automatic Generation of Composite IDs - Annonation declaration fails
* [ANN-151] - <subclass extends= broken when using AnnotationConfiguration
* [ANN-152] - Indexes generated by the LuceneEventListener are deleted at startup (Mattias Arbin)
* [ANN-156] - MapKey Cannot Map @Id when using @IdClass
* [ANN-165] - @Length(min=4) ie wo max generate a varchar(Integer.MAX_VALUE)
* [ANN-171] - Class cast exception during processing of non getter generic methods
* [ANN-173] - ClassValidator.getInvalidValues should not depend on equals() for circularity check
** New Feature
* [ANN-111] - add function for validating properties before bean creation
* [ANN-116] - fetch validators from implemented interfaces
* [ANN-125] - Validator does not preserve method hierarchy in InvalidValue[]
* [ANN-127] - Add @Future
* [ANN-128] - Externalize EJB3 namings to NamingStrategy
** Improvement
* [ANN-119] - Embedded international error messages
* [ANN-121] - Named Queries should be package level visible
* [ANN-126] - mention usage of columnDefinition as part of @Column in docs
* [ANN-138] - Support collections of value types with separate annotation
* [ANN-148] - EnumType should be aware of DababaseMetadata.storesUpperCaseIdentifiers() and co (Tim Fennell)
* [ANN-149] - Do not check lazy/uninitialized fields in Validator
* [ANN-153] - Customize the parent directory for indexes generated by LuceneEventListener (Mattias Arbin)
* [ANN-154] - Customize Analyzer subclass for the LuceneEventListener (Mattias Arbin)
* [ANN-168] - @FilterDef should support condition
* [ANN-170] - Keep user order of hbm files (to ease the typedef usage)
3.1beta6 Preview (06-10-2005)
-----------------------------
* ANN-105 More exception handling in AnnotationConfiguration
* ANN-109 @Index does not support join columns references
* ANN-93 Make Hibernate Validator Serializable Friendly
3.1beta5 Preview (14-09-2005)
-----------------------------
* ANN-70 Lucene integration
* ANN-13 Support for referencedColumnName referencing non PK columns for @ManyToMany
* ANN-63 Use metadata.getUserName() when guessing Enum backing type (Scott Haug)
* ANN-38 Finish the optional=false support
* ANN-69 Expand the resource bundle message itself in the Validator framework
* ANN-68 Apply validator on a particular property (Jesus Marin)
* ANN-41 Allow field validations and validate private method (Chris Wood)
* ANN-75 Support named (native) query parameters (from Carlos Gonzalez)
* ANN-73 Use an eager strategy for the second join of a ManyToMany
* ANN-74 Allow configuration artefacts (hbm, classes) loading precedence
* ANN-79 Support collection of composite elements
* ANN-19 Annotations should support collections of primitive and core types
* ANN-77 Support primitive arrays
* ANN-20 Support dotted annotation when using overriding (Alexei Akhounov)
* ANN-55 @Proxy annotation should take proxyClass argument
* ANN-2 Bidirectional true @OneToOne
* ANN-80 @NotFound(action=NotFoundAction.IGNORE)
* ANN-57 @Table ignores unique contraint in association table
* ANN-3 Support of component inside SecondaryTable
* ANN-87 @InheritanceJoinColumn rename is incomplete
* ANN-81 ColumnDefinition not assigned when using @Column and @JoinColumn
* ANN-34 Second passes binded to HbmBinder.SecondPass
* NPE on Index and Unique constrains when column name has case inconsistency
* ANN-86 @Index not used on properties having no @Column
* ANN-49 Super class of Embeddable not mapped correctly (Alexei Akhounov)
* ANN-66 Null enums don't store to database correctly
* ANN-65 Validator ignores components (the DDL still ignores it)
* ANN-60 NPE when @EmbeddableSuperclass has a superclass @Entity
* ANN-90 mention usage of @Column together with @Id explicitly
* ANN-18 Document bean-level validator mecanism
3.1beta4 Preview (04-08-2005)
-----------------------------
* ANN-54 EnumType fails to find the Enum in setParameterValues(Properties)
* ANN-32 Support index creation
* ANN-22 Hibernate 3 Annotations should support all Id generators
* ANN-51 redeclaring id in entity subclass raises ClassCastException
* ANN-43 @MapKey throw exception if key is id or a component subproperty
* ANN-52 Exception when @OrderBy contains the id property or a component subproperty
* ANN-13 Support for referencedColumnName referencing non PK columns for @ManyToOne, @OneToOne and @OneToMany
* ANN-46 Raise a warning on @Filter on subclasses
* ANN-48 @UniqueConstraint reorders columns (Chris Wood)
* ANN-6 enum did not worked for enums persisted in string based columns (MySql and Oracle)
* ANN-8 array of primitive no longer create a non null column
* ANN-45 Proper support for @Basic byte[]
* ANN-44 Don't mandate to list embedded superclasses
* ANN-42 Don't mandate resultset to be defined before named native queries
* ANN-11 More robust support for enum persistence (wider range of SQL types)
* HBX-307 Remove @Serialized and support @Lob tagging of a serializable type
3.1beta3 (24-06-2005)
-----------------------------
* Rename @AssociationTable to @JoinTable
* HBX-213 support of @IdClass
* change targetEntity from String to Class
* HBX-305 Support Java5 Enums
* Add @Basic(optional=false) and Lob(optional=false)
* HBX-284 AnnotationOverride in inheritance in conjunction with @EmbeddedSuperclass
* HBX-304 @AttributeOverride instead of @Embedded(override=@AttributeOverride) or @EmbeddedId(...)
* HBX-290 All collection binder exception now show the collection role
* HBX-299 Fix test suite error on MySql
* HBX-302 @MapKey(name="propertyName") to map a map using a property of the associated class as a map key
* HBX-201 @Formula on properties or fields.
* Support @EntityResult(discriminatorColumn)
* Relax List usage as per the spec (non indexed list are defaulted to bag semantic)
* HBX-300 enable HQL order by fragment using @javax.persistence.OrderBy
* HBX-298 FKs on association tables are forced not null
* HBX-297 Primitive types creates a non null constrained column if defaulted and not SINGLE_TABLE (HBX-301)
* HBX-287 @DiscriminatorFormula
* HBX-205 @OnDelete(action=OnDeleteAction.CASCADE) for joined subclasses and collections
* Change @OneToOne(usePkasFk=true) into @PrimaryKeyJoinColumn
* Rename @InheritanceJoinColumn/@InheritanceJoinColumns to @PrimaryKeyJoinColumn/@PrimaryKeyJoinColumns
* Support @Basic(temporalType=...)
* HBX-282 protect @ManyToMany from abusive not joined filters
* Align with @NamedNativeQuery/@NamedNativeQueries
* HBX-283 Better getter resolution
* HBX-75 Implicit inheritance join columns declaration in composite PK
* HBX-54 Explicit exception when @Id is missing
* HBX-210 Fix NPE when the @Id was on the superclass of the root entity in conjonction with @OneToOne use
* HBX-280/HBX-157 Support @EmbeddabledSuperclass
3.0beta2 Preview (26-05-2005)
-----------------------------
* Add the validate framework and bind it to the annotation binder.
* HBX-199 Support @Columns and thus multi-column properties (ie composite user types)
* HBX-206 Support @OrderBy and @Sort
* HBX-203/HBX-81 Support Hibernate cascade strategies through @Cascade (Pablo Nussembaum)
* HBX-47 Persist is cascaded on flush operation when using the EJB3 event listeners
* HBX-125 Support for named native SQL queries (not Scalar results)
* HBX-225 @Type annotation now work for @Id and @Version (Pablo Nussembaum, Emmanuel Bernard)
* HBX-248 TABLE_PER_CLASS no longer limited to leaf entities and use union-subclass as its strategy
* HBX-186 inheritance strategy no longer have to be defined on every entity (only on root entry)
* HBX-53 Annotated classes can be defined in any arbitrary order
* Support Array through @IndexColumn (Anthony Patricio)
* HBX-216 Ignore static fields and properties
* HBX-229/HBX-134 Filter javac generated methods that compensate type erasure aka bridge method (Rogério Gatto)
* HBX-184 Support List mappings through @IndexColumn (Matthiew Inger, Emmanuel Bernard)
* HBX-187 Move to a CollectionBinder structure (Matthiew Inger, Emmanuel Bernard)
* Fix of CascadeType.REMOVE
3.0beta1 Preview (07-04-2005) based on the EJB3 Early Draft 2
-------------------------------------------------------------
* support parameters in @Type (HBX-197)
* support @TypeDef at package and class level
* HBX-166 support @Lob for Character[],char[], String, byte[] and Byte[] (experimental)
* HBX-159/HBX-140 add @Filter(s) and @FilterDef(s) (Matthew Inger, Magnus Sandberg)
* HBX-44 @OneToOne support composite PK
* @OneToOne is supported except for true bidirectional @OneToOne
* Add @Cache annotation: allow to define caching on root entities and on collections (,eg @Cache(usage=CacheConcurrencyStrategy.TRANSACTIONAL, region="specificCacheRegion") )
* Support @OneToMany default (ie using an association table)
* HBX-164 insertable/updatable of @JoinColumn now work in @ManyToOne processing (Mario Ivankovits, Emmanuel Bernard)
* HBX-153 @Id(generate=GeneratorType.AUTO, generator="my_potential_sequence") now work (Pablo Nussembaum)
* Support @ManyToMany wo @AssociationTable (ie defaults)
* Support @ManyToMany(mappedBy)
* Support @OneToMany(mappedBy) (no JoinColumn needed on the @OneToMany side)
* Appropriate default value when no @JoinColumn is defined in a ManyToOne
* rename @GeneratorTable to @GeneratedIdTable
* rename CREATE to PERSIST, add REFRESH cascade style
* support Mapping Defaults for Non-Relationship Fields or Properties algorithm as defined in the EJB3 spec
* support @Serialized
* support @Lob for java.sql.Clob and java.sql.Blob
* allow embedded object declaration wo @Embeddable (if @Embedded or @EmbeddedId is present in the property)
* support for @EmbeddedId
* rename DependentAttribute to AttributeOverride, Dependent to Embedded and DependentObject to Embeddable
* support @ManyToOne in embedded objects
* support for @NamedQuery and @NamedQueries (EJBQL)
* move javax.ejb.* into javax.persistence.* and update copyright header
3.0alpha3 (28-02-2005)
----------------------
* HBX-116 Support for Where clause in classes and collections @Where(clause="")
* HBX-115 Support for class proxying configuration: @Proxy(lazy=false, proxyClassName="my.Interface")
* HBX-88 Support for hibernate type abstraction through @Type (only on basic properties for now)
* HBX-108 Support @BatchSize(size=n) for entities and collections
* HBX-107 implements @org.hibernate.annotations.Entity
* HBX-103 handle abstract classes
* HBX-83 precision & scale support for column (Bogdan Ghidireac)
3.0alpha2 (25-01-2005)
----------------------
* HBX-61 Support for @UniqueConstraint (except primaryKey=true)
* HBX-60 Support for a proper @TableGenerator (using MultipleHiLoPerTableGenerator)
* HBX-63 Support @GeneratorTable
* HBX-68 Add declarative configuration of annotated classes
* HBX-74 Rollback the HB-1315 fix: dialect no longer have to be set in hibernate.properties
Hibernate-annotations-3.0alpha1 based on the EJB3 Early Draft 1 (6.01.2005)
---------------------------------------------------------------------------
* Support for EJB3 annotations:
- @Transient
- @Column (not primaryKey)
- @JoinColumn (referencedColumnName - only for a reference to a PK, not primaryKey)
- @Version
- @Basic
- @Entity
- @Table (not uniqueConstraints)
- @AccessType
- @Id
- @CascadeType
- @FetchType
- @GeneratorType (NONE, IDENTITY, TABLE, SEQUENCE)
- @TableGenerator (with scope visibility)
- @SequenceGenerator (with scope visibility, does not support initialValue() and allocationSize())
- *not* @GeneratorTable (will have to write a new TableHiloGenerator, but it can wait)
- @ManyToOne (not optional)
- @OneToMany (Set and Collection, generics version or not, JoinColumn not guessed)
- @OneToOne
but not optional
no composite PK/FK
- @ManyToMany
- @AssociationTable (Has to be on both sides)
- @Inheritance
- @InheritanceType (has to be defined on every classes of the hierarchy for JOINED strategy,
not very clear about the TABLE_PER_CLASS strategy)
- @DiscriminatorColumn
- @DiscriminatorType
- @InheritanceJoinColumn
- @InheritanceJoinColumns
this annotation for Composite PK Entities has to be explicit, I do not respect the implicit semantic of the EJB3 spec
- @SecondaryTable (@OneToMany @JoinColumn(secondaryTable="..." does not work yet due to H3 core issue HHH-36
- @SecondaryTables
this annotation for Composite PK Entities has to be explicit, I do not respect the implicit semantic of the EJB3 spec
- @DependentObject
- @Dependent
- @DependentAttribute (only for basic properties as per the spec)
- @Id in conjunction with @DependentObject (composite primary keys)
- @JoinColumns in conjunction with @ManytoOne, @OneToMany, @ManytoMany
- note that the composite FK columns have to be in the same table (no != secondary tables). This is probably a weird case and certainly a not recommanded one.
Still missing or incomplete features compared to the EJB3 spec
--------------------------------------------------------------
- support for initialValue and allocationSize in @SequenceGenerator (HBX-59)