查询实体
通过定义一句查询的sql语句来指明数据是如何获取的,并且设置获取后的数据如何和一个实体做映射,则这个实体就被称作查询实体。 查询实体用于映射的属性都是简单属性。
可以对不同类型的数据库指定查询的sql语句,但是必须指定一个default类型的配置,因为EOS会在程序运行时根据数据库连接自动判断数据库类型,然后根据对该种类型的数据库配置来获取数据,如果没有找到对该种数据库的配置,则会使用default类型的配置。
# 1 创建查询实体
选中要创建的实体集,打开实体编辑界面,从实体框中拖拽查询实体到画布上。
双击查询实体,可以对实体进行配置。点击编辑并输入查询语句进行查询实体操作。查询后数据库记录将会展示在查询条件下方的表格中,可以对其实体显示名称、实体名称、实体属性(显示名称、显示控件)进行修改。
实体名称仅在创建查询实体时可以进编辑。
# 2 编辑SQL
设置默认数据源(图一中1),数据优先匹配该数据源的数据,默认为default。
输入sql语句(图一中3),点击查询按钮,进行sql查询。查询后可收起查询SQL配置。点击确认后生成查询实体。
图一如下:
# 3 相关约束
- 查询实体里不能定义属性名叫id的属性(唯一标识对应的属性可以使用id这个名称),id是保留关键字
- 同一数据集中查询实体名称具有唯一性
- 查询实体只能用于查询,不可以对其执行增删改的操作
- 如果指定的查询sql语句有2个相同的列名,需要起不同的别名来区分
# 3.1 注意事项
- 查询实体允许用户通过指定某一列或几列的值来做为查询实体的唯一标识。
- 如果用户没有指定,EOS会自动使用一个常量来作为该查询实体唯一标识。
- 但是如果用默认的唯一标识,就不能使用持久化实体和该查询实体做单向1:1关联和单向N:1关联,否则对持久化实体做操作会抛异常。
# 4 使用SQL向导
可使用sql助手(图一中4)辅助完成sql语句输入
# 5 数据库跨平台
单击tab中"+"(图一中2)可以添加连接类型。注意生成实体时按照default类型进行查询。