我有一个班级 Car 和一个班级 Prenot ...
@Entity
@Table(name="car"
,catalog="gestcars")
public class Car implements java.io.Serializable {
private String targ;
private String model;
private Set<Prenot> prenots = new HashSet<Prenot>(0);
public Car() {
}
…….}
public class Prenot implements java.io.Serializable {
@Id
@Column(name="codice", unique=true, nullable=false)
@GeneratedValue(strategy =GenerationType.AUTO)
private int codice;
@ManyToOne(fetch=FetchType.EAGER)
@JoinColumn(name="car_targ", nullable=false)
private Car car;
…..}
第一次调用这个
For(x: …some cicle)…
try {
if(!session.isOpen()){
this.session=util1.HibernateUtil1.getSessionFactory().getCurrentSession();
}
org.hibernate.Transaction tx = session.beginTransaction();
Criteria crit=session.createCriteria(Prenot.class);
crit.add(Expression.eq("data", newdata))
.addOrder(Order.asc("data"))
.addOrder(Order.asc("from"));
prenot = (List<Prenot>) crit.list();
session.flush();
session.close();.....
return prenot;
返回给我和对象 Prenot,它使用 EAGER 获取,实际上我可以通过代码获取对象 Car
Iterator i = prenot.iterator();
while (i.hasNext()) {
Prenot tempP = (Prenot) i.next();
Car c = tempP.getCar();…… }
列表 prenot 中的 cicle(对于 x...)的不可告人的 iterqtion 我有一个对象 Car$$enhancerbycglib$$... 为什么?我从懒惰变成了渴望,因为我不能处理 $$enhancerbycglib$$ 对象。我怎么能?
它看起来改变了 this 调用后获取的对象的类型:
org.hibernate.Transaction tx=session.beginTransaction();
session.save(p);
session.flush();
tx.commit();