国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

使用DBeaver自動(dòng)生成ER圖

這篇具有很好參考價(jià)值的文章主要介紹了使用DBeaver自動(dòng)生成ER圖。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

本文主要介紹了DBeaver如何操作,可以自動(dòng)生成ER圖,DBeaver的版本是6.2.0。表使用JPA自動(dòng)生成。具體JPA的使用見JPA規(guī)范總結(jié)和整理

創(chuàng)建表格

創(chuàng)建實(shí)體類

@Entity
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
@Table(name = "company")
public class Company {
    @Id
    @Column(name = "id", columnDefinition = "varchar(64)")
    @GenericGenerator(name="idGenerator", strategy="uuid")
    @GeneratedValue(generator = "idGenerator")
    private String id;

    private String name;

    private String address;
}


@Entity
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
@Table(name = "employee", uniqueConstraints = {@UniqueConstraint(columnNames={"department_id","company_id"})})
public class Employee {
    @Id
    @Column(name = "id", columnDefinition = "varchar(64)")
    @GenericGenerator(name="idGenerator", strategy="uuid")
    @GeneratedValue(generator = "idGenerator")
    private String id;

    @Column(name = "name", columnDefinition = "varchar(128) default null")
    private String name;

    @Column(name = "department_id", columnDefinition = "varchar(32) default null")
    private String departmentId;

    @JoinColumn(name="company_id")
    @ManyToOne(cascade={CascadeType.MERGE,CascadeType.REFRESH},optional=false)
    private Company company;
}

改配置文件自動(dòng)生成表格

spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true
spring.jpa.database=mysql
spring.jpa.open-in-view=false

亂入一下:簡單記錄下別人整理的spring.jpa.open-in-view配置作用

open-in-view 是 Spring Boot 自動(dòng)加載 Spring Data JPA 提供的一個(gè)配置,全稱為
spring.jpa.open-in-view=true,它只有 true 和 false 兩個(gè)值,默認(rèn)是 true。那它到底有什么威力呢?

通過上面的源碼我們可以看到,spring.jpa.open-in-view 的主要作用就是幫我們加載
OpenEntityManagerInViewInterceptor 這個(gè)類
我們可以發(fā)現(xiàn),OpenEntityManagerInViewInterceptor 實(shí)現(xiàn)了 WebRequestInterceptor
的接口中的兩個(gè)方法:

public void preHandle(WebRequest request) 方法,里面實(shí)現(xiàn)了在每次的 Web MVC 請(qǐng)求之前,通過
createEntityManager 方法創(chuàng)建 EntityManager 和 EntityManagerHolder 的邏輯;

public void afterCompletion(WebRequest request, @Nullable Exception
ex) 方法,里面實(shí)現(xiàn)了在每次 Web MVC 的請(qǐng)求結(jié)束之后,關(guān)閉 EntityManager 的邏輯。

我們?nèi)绻^續(xù)看 createEntityManager 方法的實(shí)現(xiàn),還會(huì)找到如下關(guān)鍵代碼。 我們通過 SessionFactoryImpl
中的 createEntityManager() 方法,創(chuàng)建了一個(gè) EntityManager 的實(shí)現(xiàn) Session;通過攔截器創(chuàng)建了
EntityManager 事務(wù)處理邏輯,默認(rèn)是 Join 類型(即有事務(wù)存在會(huì)加入);而 builder.openSession()
邏輯就是 new SessionImpl(sessionFactory, this)。

所以這個(gè)時(shí)候可以知道,通過 open-in-view 配置的攔截器,會(huì)幫我們的每個(gè)請(qǐng)求都創(chuàng)建一個(gè) SessionImpl 實(shí)例;而
SessionImpl 里面存儲(chǔ)了整個(gè) PersistenceContext 和各種事務(wù)連接狀態(tài),可以判斷出來 Session
的實(shí)例對(duì)象比較大。

并且,我們打開 spring.jap.open-in-view=true
會(huì)發(fā)現(xiàn),如果一個(gè)請(qǐng)求處理的邏輯比較耗時(shí),牽涉到的對(duì)象比較多,這個(gè)時(shí)候就比較考驗(yàn)我們對(duì) jvm
的內(nèi)存配置策略了,如果配置不好就會(huì)經(jīng)常出現(xiàn)內(nèi)存溢出的現(xiàn)象。因此當(dāng)處理比較耗時(shí)的請(qǐng)求和批量處理請(qǐng)求的時(shí)候,需要考慮到這一點(diǎn)。

運(yùn)行程序,自動(dòng)創(chuàng)建表格

創(chuàng)建后的表格打印如下,可以看到是有外鍵生成的

Hibernate: create table company (id varchar(64) not null, address varchar(255), name varchar(255), primary key (id)) engine=InnoDB
Hibernate: create table employee (id varchar(64) not null, department_id varchar(32) default null, name varchar(128) default null, company_id varchar(64) not null, primary key (id)) engine=InnoDB

Hibernate: alter table employee drop index UKir8n5ax8yt8608nlq39f6aw0t
Hibernate: alter table employee add constraint UKir8n5ax8yt8608nlq39f6aw0t unique (department_id, company_id)
Hibernate: alter table employee add constraint FK5v50ed2bjh60n1gc7ifuxmgf4 foreign key (company_id) references company (id)

使用DBeaver自動(dòng)生成ER圖
使用DBeaver自動(dòng)生成ER圖

DBeaver中生成ER圖

ctrl+左鍵選中需要?jiǎng)?chuàng)建ER關(guān)系圖的表,右鍵菜單欄里點(diǎn)擊創(chuàng)建新的ER圖
使用DBeaver自動(dòng)生成ER圖填寫圖表的名字,點(diǎn)擊完成
使用DBeaver自動(dòng)生成ER圖自動(dòng)生成了er圖
使用DBeaver自動(dòng)生成ER圖
點(diǎn)擊連線,可以看到外鍵
使用DBeaver自動(dòng)生成ER圖文章來源地址http://www.zghlxwxcb.cn/news/detail-444546.html

到了這里,關(guān)于使用DBeaver自動(dòng)生成ER圖的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 使用AI自動(dòng)生成PPT --- Gamma

    使用AI自動(dòng)生成PPT --- Gamma

    近期找到一個(gè)非常好用的,使用AI自動(dòng)生成PPT的工具--Gamma( https://gamma.app/signup?r=7ikntzoapw5mzpo )測試幾次,發(fā)現(xiàn)自動(dòng)生成的PPT基本能夠拿來直接使用。注意:使用Gamma需要科學(xué)上網(wǎng)。 Gamma是一款人工智能應(yīng)用程序,可幫助您創(chuàng)建引人入勝的演示文稿,而無需設(shè)計(jì)專業(yè)知識(shí)。您可以

    2024年02月11日
    瀏覽(25)
  • 單元測試自動(dòng)生成工具Evosuite的安裝使用

    單元測試自動(dòng)生成工具Evosuite的安裝使用

    1.1介紹 官網(wǎng):?https://www.evosuite.org/ GitHub:?https://github.com/EvoSuite 1.2安裝插件 (1)直接安裝 進(jìn)入settigs中,點(diǎn)擊plugins,搜索Evosuite,點(diǎn)擊安裝 (2)從官網(wǎng)下載安裝 打開網(wǎng)頁 https://plugins.jetbrains.com/plugin/18956-evosuite-xenoamess-tpm-/versions ,點(diǎn)擊Download按鈕下載插件。 選擇菜單File

    2024年02月03日
    瀏覽(20)
  • 使用AI自動(dòng)生成PPT提高制作效率

    使用AI自動(dòng)生成PPT提高制作效率

    在制作PPT方面,很多制作者都會(huì)輕易跳進(jìn)一個(gè)怪圈:“我要制作一個(gè)關(guān)于關(guān)愛老人的PPT,該怎么做呢,有模板沒有?”這個(gè)會(huì)涉及很多邏輯需要經(jīng)過不斷的思考,制作PPT要通過很多素材、使用技巧、方法經(jīng)驗(yàn)的不斷積累,然而在短時(shí)間內(nèi)制作高質(zhì)量的PPT這對(duì)初學(xué)者來說是件非常

    2024年01月17日
    瀏覽(19)
  • 教你如何使用pr語音自動(dòng)生成字幕,pr自動(dòng)識(shí)別聲音添加字幕

    教你如何使用pr語音自動(dòng)生成字幕,pr自動(dòng)識(shí)別聲音添加字幕

    說到pr語音自動(dòng)生成字幕,還是需要的用到Speech to Text for Premiere Pro 2022插件,這是一個(gè)pr語音自動(dòng)生成字幕插件,可以自動(dòng)生成序列的腳本并為視頻創(chuàng)建可自定義的字幕,而且支持13種語言,需要的可以試試。 1、下載好Speech to Text for Premiere Pro 2022插件解壓包,然后安裝 2、安裝

    2024年02月04日
    瀏覽(26)
  • Springboot 使用插件 自動(dòng)生成Mock單元測試 Squaretest

    Springboot 使用插件 自動(dòng)生成Mock單元測試 Squaretest

    很多公司對(duì)分支單測覆蓋率會(huì)有一定的要求,比如 單測覆蓋率要達(dá)到 60% 或者 80%才可以發(fā)布。 有時(shí)候工期相對(duì)緊張,就優(yōu)先開發(fā)功能,測試功能,然后再去補(bǔ)單元測試。 但是編寫單元測試又比較浪費(fèi)時(shí)間,有沒有能夠很大程度上自動(dòng)化生成單元測試的插件,自己改下就行

    2023年04月08日
    瀏覽(36)
  • ES簡單教程(五)使用ElasticsearchRestTemplate手動(dòng)生成ES索引 項(xiàng)目啟動(dòng)自動(dòng)生成ES索引

    其實(shí)使用 SpringBoot 項(xiàng)目玩ES的時(shí)候,人家本身是提供了一個(gè)注解 @Docment 是可以自動(dòng)在項(xiàng)目啟動(dòng)的時(shí)候創(chuàng)建ES索引的! 只不過沒用,因?yàn)?ES 的版本在升級(jí), ElasticsearchRestTemplate 配套的腳手架也在升級(jí),所以你會(huì)在網(wǎng)上遇到一個(gè)情況:搜到的各類解決方案可能都太適配你的情況,

    2024年02月03日
    瀏覽(92)
  • 使用flask-sqlacodegen自動(dòng)生成model實(shí)體類

    依賴庫版本如下(供參考): 安裝依賴庫 pip install -i http://mirrors.aliyun.com/pypi/simple --trusted-host mirrors.aliyun.com sqlalchemy==1.4.36 pip install -i http://mirrors.aliyun.com/pypi/simple --trusted-host mirrors.aliyun.com flask-sqlalchemy==3.0.3 pip install -i http://mirrors.aliyun.com/pypi/simple --trusted-host mirrors.aliyun.com flas

    2024年02月15日
    瀏覽(22)
  • 使用Puppeteer構(gòu)建博客內(nèi)容的自動(dòng)標(biāo)簽生成器

    使用Puppeteer構(gòu)建博客內(nèi)容的自動(dòng)標(biāo)簽生成器

    標(biāo)簽是一種用于描述和分類博客內(nèi)容的元數(shù)據(jù),它可以幫助讀者快速找到感興趣的主題,也可以提高博客的搜索引擎優(yōu)化(SEO)。然而,手動(dòng)為每篇博客文章添加合適的標(biāo)簽是一件費(fèi)時(shí)費(fèi)力的工作,有時(shí)候也容易遺漏或重復(fù)。本文將介紹如何使用Puppeteer這個(gè)強(qiáng)大的Node.js庫來構(gòu)

    2024年02月10日
    瀏覽(25)
  • 使用Python創(chuàng)建快速創(chuàng)建剪映草稿軌道,自動(dòng)生成視頻

    使用Python創(chuàng)建快速創(chuàng)建剪映草稿軌道,自動(dòng)生成視頻

    實(shí)現(xiàn)原理 : JianYingPro 項(xiàng)目文件是 json 的形式存儲(chǔ)的,只需要?jiǎng)?chuàng)建 draft_content.json , draft_mate_info.json 打開軟件后會(huì)自動(dòng)補(bǔ)全。 作用:快速生成草稿,可以完成一個(gè)比較粗剪輯,提升效率。 本庫可以幫你快速自動(dòng)識(shí)別音頻和視頻添加到對(duì)應(yīng)的軌道。自動(dòng)生成草稿后,就可以自動(dòng)剪

    2024年02月13日
    瀏覽(22)
  • 【ChatGPT實(shí)戰(zhàn)】6.使用ChatGPT自動(dòng)化生成PPT

    【ChatGPT實(shí)戰(zhàn)】6.使用ChatGPT自動(dòng)化生成PPT

    如果需要使用ChatGPT生成PPT,我相信看了上一篇Excel教程的讀者,就會(huì)想到也通過ChatGPT生成VBA代碼,再通過運(yùn)行VBA代碼的方式來自動(dòng)生成PPT。 理論上是可以的,但是當(dāng)你實(shí)際操作的時(shí)候會(huì)發(fā)現(xiàn)很難實(shí)現(xiàn)。因?yàn)镻PT包含的元素實(shí)在是太多了,每張幻燈片都有標(biāo)題和正文、都有不同

    2024年02月08日
    瀏覽(23)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包