Posts
liquibase in Spring Boot
- Get link
- X
- Other Apps
Liquibase Liquibase dùng để quản lý thay đổi trong cơ sở dữ liệu cho dự án. Về vai trò thì gần giống như Script SQL dùng để khởi tạo, chèn, cập nhật cơ sở dữ liệu Vấn đề là đoạn script chỉ phù hợp với 1 csdl File change-log liquibase thì 1 file change-log phù hợp với các hệ cơ sở dữ liệu khác nhau như MySQL , Oracle, PostgreSQL Ví dụ: Script SQL : insert (a,b,c) into (name, age,address) Liquibase: chèn (a,b,c) (name,age,address) Khi đọc file Liquibase thì sẽ convert ra câu lệnh tương ứng với csdl tương ứng, lên việc viết một đoạn xml bằng liquibase sẽ được dịch ra tương ứng với các csdl dùng trong ứng dụng -----------------------SET-UP for dependency---------------------------- Cần tối thiểu ---- Dependency liquibase <dependency> <groupId>org.liquibase</groupId> <artifactId>liquibase-core</artifactId> </dependency> ---- dependency Liên quan đến kết nối CSDL: Ví dụ cho MySQL, hoặc Oracle...
@idclass vs @embedable
- Get link
- X
- Other Apps
1. @Idclass @Entity @IdClass(ProjectId.class) public class Project { @Id int departmentId; @Id long projectId; : } Class ProjectId { int departmentId; long projectId; } 2.@embedable @Entity public class Project { @EmbeddedId ProjectId id; : } @Embeddable Class ProjectId { int departmentId; long projectId; } Ref: https://www.objectdb.com/java/jpa/entity/id
Thêm cột ở bảng manytomany trong jpa hibernate
- Get link
- X
- Other Apps
Follow this tutorial https://www.codejava.net/frameworks/hibernate/hibernate-many-to-many-association-with-extra-columns-in-join-table-example CREATE TABLE `users` ( `user_id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(45) NOT NULL, `password` varchar(45) NOT NULL, `email` varchar(45) NOT NULL, PRIMARY KEY (`user_id`) ) ENGINE=InnoDB AUTO_INCREMENT=31 DEFAULT CHARSET=latin1$$ CREATE TABLE `groups` ( `group_id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(45) NOT NULL, PRIMARY KEY (`group_id`) ) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=latin1$$ CREATE TABLE `users_groups` ( `user_group_id` int(11) NOT NULL AUTO_INCREMENT, `user_id` int(11) NOT NULL, `group_id` int(11) NOT NULL, `activated` tinyint(1) NOT NULL, `registered_date` datetime NOT NULL, PRIMARY KEY (`user_group_id`), KEY `fk_user` (`user_id`), KEY `fk_group` (`grou...
Các dòng lệnh linux phổ biến
- Get link
- X
- Other Apps
1. Extract một tập tin 7z 7z e [đường_dẫn_tới_file.7z] [tên_thư mục mới] 1. Cài đặt alien để chạy file .rpm Install alien in debian #apt-get install alien This will install all the required packages.Now you can start converting your .rpm files to .deb packages. Available Options for alien Convert the package.rpm into a package.deb #alien -d package-name.rpm Convert the package.rpm into a package.deb, and install the generated package. #alien -i package-name.rpm If you want to keeps alien from changing the version number use the following command #alien -k rpm-package-file.rpm Example Suppose we have a avg antivirus avg71lms-r30-a0782.i386.rpm file To convert .rpm to debian #alien -k avg71lms-r30-a0782.i386.rpm Now you should be having avg71lms-r30-a0782.i386.deb file To install .deb file #dpkg -i avg71lms-r30-a0782.i386.deb If you don't use -k option you should see avg71lms_r30-1_i386.deb file the difference is it will add 1 2. Xóa Lock tro...
CORS vs CRSF
- Get link
- X
- Other Apps
1. Cors Nó là một khái niệm bảo mật mà chỉ cho phép Ajax request gọi tới service từ chính trang web đó Ví dụ bạn có một hệ thống web tại địa chỉ javaintech.com.vn Trong trường hợp service áp dụng Cors. Hệ thống trả về một trang web và bạn chỉ có thể gọi request ajax từ chính trang web này mới hợp lệ. Trong trường hợp nếu service áp dụng Cors và chỉ cho phép một số trang web khác cũng gọi được request thì nó sẽ trả về danh sách các địa chỉ được truy cập tới Service Access-Control-Allow-Origin: http://foo.client.com, .... Nếu muốn cho phép tất cả thì nó để là Access-Control-Allow-Origin: * Như vậy việc thiết kế service sẽ bảo mật hơn, tuy nhiên ngày nay việc thiết kế service thường công khai tới mọi địa chỉ có thể gọi được. Nên việc áp dụng kĩ thuật này là không đáp ứng đc yêu cầu. Do vậy các hệ thống thường disable CORS 2. CRSF Nó là một kĩ thuật tấn công dựa trên Javascript tự động gửi request. Ví dụ trên trang web ngân hàng có một form chuyển tiền. Nế...