我有2个表,一对多关系:
t_damage_lodition   主表
t_damage_cabin       子表
子表里有个外键是主表里面得主键,用得mysql数据库,但是数据库中未建立主外键关系。代码如下
表t_damage_lodition对应的实体:@Entity
@Data
@Table(name="t_damage_lodition")
public class DamageLodition extends AbstractEntity{
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
Integer damageid;
Integer UserId;
String loaditionName;
Date createDate;
Date modifyDate;
String locakFlag;@OneToMany(cascade=CascadeType.ALL,fetch=FetchType.LAZY)
@JoinColumn(name="damageid",referencedColumnName="damageid")
List<DamageCabin> damageCabinList;
}t_damage_cabin实体:@Entity
@Data
@Table(name="t_damage_cabin")
public class DamageCabinextends AbstractEntity{
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
Integer id;
Integer damageid;
String cabinName;
Date strTankName;
}
Dao:public interface DamageLoditionDao extends JpaRepository<DamageLodition ,Integer>{}
Service:public class DamageLoditionService {@Autowired
DamageLoditionDao damageLoditionDao;public List<DamageLodition> SelectAll()
{
     return damageLoditionDao.findAll();
}
}
测试结果
从日志可以看出先查出主表,我主表里面有3条记录,然后循环所有的主表记录去查子表。这样效率好低,为啥没直接生成join语句,直接执行一次查询?还是说我整错了?