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)