1
nothingLeft 2021 年 2 月 25 日 我们都是增删改查程序员,干嘛自己干掉自己!
|
2
asd999cxcx 2021 年 2 月 25 日
自动创建表?JPA 不就是项目启动后自动创建表吗...
|
3
WEBUG OP @asd999cxcx #2 这样的项目启动后,突然有需求要加一个 a 表,这个表是新的,没有 entity 也没有增删改查的方法,通过一个网页把 a 的属性都写好,自动创建这个表,系统就多出来一个维护界面,可以操作这个表了。原来的操作是,添加一套增删改查的代码再发布。
|
4
WEBUG OP @nothingLeft #1 这么一说还有点道理,这不是想把自己从繁琐无聊的工作中解放出来吗,虽然可以自动生成代码了,还想更近一步
|
5
RedBeanIce 2021 年 2 月 25 日
CRUD 的革命。
|
6
mhycy 2021 年 2 月 25 日
自己造一个基于配置的表单生成模块
|
8
LostPrayers 2021 年 2 月 25 日
代码生成器? 那些 xx 开发框架不是到处都是嘛
|
9
dushixiang 2021 年 2 月 25 日
jpa 做不到你的需求,看你说的好像流程很简单,可以自己实现一个 orm,创建表无非就是 create table xxx,然后 crud
|
10
superrichman 2021 年 2 月 25 日 via iPhone
phpmyadmin 🐶
|
11
WEBUG OP @superrichman #10 你这也太好用了
|
12
EscYezi 2021 年 2 月 25 日 via iPhone
不修改代码的话重启服务修改就没了,除非有一套机制重新走一遍初始化过程。感觉搞一个 generator 自动生成 java 代码和页面更简单。
|
13
WEBUG OP @LostPrayers #8 不是生成器
|
15
echowuhao 2021 年 2 月 25 日
postgrest 不过这个不是 jpa 了。
|
17
mhycy 2021 年 2 月 25 日
|
18
yeqizhang 2021 年 2 月 25 日
不就是后台 ddl 吗,肯定有这类开源工具包的。如果只是固定的数据库类型,自己写个也不难
|
20
jjianwen68 2021 年 2 月 25 日
把 jpa 启动时,自动创建表的逻辑手工调用一遍 ?
|
21
WEBUG OP @jjianwen68 #20 jpa 启动建表的话 entity 什么的实体类应该要有吧不太清楚,现在是连 entity 都没有,新增的表在代码里没有任何存在。
|
22
huifer 2021 年 2 月 25 日
前端页面不一定是单表 CRUD,每个输入框的验证逻辑等如何输入
|
23
chainsR 2021 年 2 月 25 日 via Android
人人开源?
|
24
huifer 2021 年 2 月 25 日
@Autowired
private OauthClientService oauthClientService; @Autowired private EntityManager entityManager; @Test public void testSession() { Query query = entityManager.createNativeQuery("SELECT id from oauth_client"); DetachedCriteria criteria = DetachedCriteria.forClass(Object.class) // 这里需要类型绑定,通过数据库类型和 JAVA 类型进行转换 .add(Property.forName("id") .eq(5L)); String s = criteria.toString(); EntityManagerFactory entityManagerFactory = entityManager.getEntityManagerFactory(); SessionFactory sessionFactory = entityManagerFactory.unwrap(SessionFactory.class); Session session = sessionFactory.openSession(); Criteria executableCriteria = criteria.getExecutableCriteria(session); List list = executableCriteria.list(); } @WEBUG JPA 层面代码. |
25
linbingcheng 2021 年 2 月 25 日
jpa 我最近感觉不大好用,还不如 mybatis 呢
|
26
itechify PRO 老铁想说的是 jpa 的 lowcode 框架?
|
27
dfzj 2021 年 2 月 25 日 老铁,增删改查还是用无远吧:www.wuyuan.io
|
28
guagusi 2021 年 2 月 25 日
基于元数据设计数据模型
|
29
WEBUG OP @oneisall8955 #26 就是这意思,java 就行,如果 jpa 真实现不了
|
30
clf 2021 年 2 月 25 日
这玩意很多……只是通过 JPA CRUD 就行了,没必要通过 JPA 建表。
可以考虑 sql 语句建表后根据数据库自动生成这个表的 CRUD 和实体类,这样可能会更好处理一点。 |
31
LarryWang 2021 年 2 月 25 日
用 excel 吧
|
32
zypy333 2021 年 2 月 25 日
我这有个类似的实现,就是有若干系统模块,功能类似,字段不多,也没有什么复杂查询,单独建表开发感觉很繁琐,又有些公共属性,最后统一用了一张表来存储实际数据,多加了些通用字段,另外一张表记录模块配置,表里用 json 记录下不同的模块下通用字段的实际展示名称,实际表单类型,是否必须等等,最后展示的时候用的同一个界面做的增删改查.
|
33
lostpupil 2021 年 2 月 25 日
原理上就是 调用 create_table
然后 crud 找个 随便什么框架就行,graphql 也可以,不过有的可能需要重启 reload 。 不过这个其实你用 doc database 就很方便。 mongodb 什么的。 |
34
shade 2021 年 2 月 25 日
父子关系表如何处理呢?
|
35
ErrorMan 2021 年 2 月 25 日
反向操作是可以的,每次增加一个新的 entity,然后启动程序让 jpa 自己根据 entity 创建或更新表结构,前端 API 可以用 REST Repository 配合 REST api 直接提供给前端,然后前端根据 spring HATEOAS 路径去获得完整数据结构路径提供相关操作。大概的缺陷就是不好加鉴权吧,鉴权就得介入代码了
|
36
xuanbg 2021 年 2 月 26 日 尽管我很反对 GraphQL,但这种需求,就是 GraphQL 的菜。
|
37
ZiLong 2021 年 2 月 26 日
你是不是想要 jhipster 或者
jeecg-boot 这种? |
39
hantsy 2021 年 2 月 26 日
JPA 标准支持很多创建和维护表。https://github.com/hantsy/cargotracker/blob/master/src/main/resources/META-INF/persistence.xml#L9-L30 这个配置我写了常见的使用的几个例子。具体的参数,可以参考任何一本 JPA 书籍( Pro JPA2,Java Persistence with Hibernate ),或者规范文件,或者官方的 Jakarta EE Tutorial 。
不过一般生产环境上线都是经过优化过的脚本运行来创建表,生产环境我从来不主张用自动创建维护表。或者自己用 Flyway 之类的维护脚本更稳妥一些。 |
40
bthulu 2021 年 2 月 26 日
动态生成 entity 和 dao 层的.java 文件, 并自动提交到 git 仓库, 触发构建部署就行了
|
41
liian2019 2021 年 3 月 3 日
1. 获取数据库表结构,做成配置保存
2. 从配置表读取配置,利用 javassist/asm 生成 pojo,mapper 等等类的 class 加载到虚拟机 |