Hi,
I know there are some subtle differences in JPA and hibernate core but
not calling logicalColumnName sounds like a bug to me.
Emmanuel, could you help out here ?
Does Hibernate Entitiy Manager use the namingstrategy different than
Hibernate core ?
FYI, the usecase is that we are implementing support for naming strategy
in Eclipse Dali (JPA tooling) so that
users doesn't get wrong warnings/errors when they used a different
naming strategy. Iniitally we just implemented
it as hibernate core uses naming strategy but then bumped into Hibernate
EntityManager yielding different results.
/max
Dmitry Geraskov wrote:
Hi, guys,
I tried to generate ddl from console configuration using my
NamingStrategy and found at least 2 differences between them.
My NamingStrategy has 3 significant(for this issue) methods:
public class TestNamingStrategy extends DefaultNamingStrategy{
public String propertyToColumnName(String propertyName) { return
"PTCN_"+propertyName;}
public String columnName(String columnName) {return "CN_"+columnName; }
public String logicalColumnName(String columnName, String
propertyName) { return "LCN_"+super.logicalColumnName(columnName,
propertyName);}
}
-----------------------------------------------------------------------
Mapped class is pretty simple:
@Entity
public class Customers implements java.io.Serializable {
@Id @Column(name="id") private int id;
@Column(name = "specified_column") private String specified_column;
...
}
-----------------------------------------------------------------------
Class mapped as:
<class name="r.Customers">
<id name="id" type="int"/>
<property name="specified_column"
column="specified_column" />
</class>...
===========================================
Generated ddl for jpa console configuration is
create table Customers (
CN_id int4 not null,
CN_specified_column varchar(255),
primary key (CN_id)
);
-------
for core:
create table Customers (
PTCN_id int4 not null,
CN_LCN_specified_column varchar(255),
primary key (PTCN_id)
);
Are this differences expected?