美文网首页
an implementation of the JPA spe

an implementation of the JPA spe

作者: Nacho | 来源:发表于2017-06-30 11:25 被阅读25次

    JPA规范主要包括三部分:

    • ORM元数据,元数据描述对象与表之间的映射关系.(JPA是通过annotion或XML两种形式描述对象-关系映射,我们可以通过模板,把Obejct注册进去)
    • Entity操作API
    • 查询语言 (JPA是根据JPQL实现的,暂时可以用SQLBuilder实现,后期可以根据SQL语句自己写parser生成AST来处理)

    实现类说明

    jpa.png
    • Persistence

    读取配置信息

    • EntityManagerFactory

    用于创建会话/实体管理器的工厂类

    • EntityManager

    提供Entity操作API,管理事务,创建查询等
    1.persist ,持久化entity
    2.remove,删除entity
    3.merge,持久化entity(updateIfExist)

    • EntityTransaction

    管理事务

    • Query

    执行查询

    Entity生命周期

    entity.png
    • New 新建Entity对象
    • Managed 对象处于Persistence Context,由EntityManager管理
    • Detached 对象进入Application Domain
    • Removed Entity被删除

    Entity关联关系

    • one-to-one
    • one-to-many
    • many-to-one
    • many-to-many

    Entity字段属性说明

    • Auto
    • PrimaryKey
    • Table
    • ...

    异常说明

    • DatabaseException

    Dialect说明

    主要功能包括将对象操作转换成SQL语句.和从sql数据转换为对象

    D的使用示例

    class User : Model
    {
        @AUTO
        int id;
        string name;
    }
    
    DatabaseOption option = new DatabaseOption();
    option.addDatabaseSource("mysql://root:123456@localhost:3306/blog?charset=utf-8");
    EntityManagerFactory entityManagerFactory = Persistence
    .createEntityManagerFactory("mysql",option);
    EntityManager entitymanager = entityManagerFactory.createEntityManager!(User);
    User user = new User();
    user.setName = "viile";
    entitymanager.persist(user);
    

    相关文章

      网友评论

          本文标题:an implementation of the JPA spe

          本文链接:https://www.haomeiwen.com/subject/uajbcxtx.html