小编bai*_*win的帖子

在hibernate中使用bean验证

我想知道是否可以在 hibernate 中使用 Java Bean Validation,以及它们如何相互集成。

我的数据层中有一个由 Jax-rs API 和 JPA 组成的堆栈。

我想知道是否可以使用 Java Bean 验证来验证我的 Hibernate 实体,而不使用 Spring。

javax.validation.contraints我可以使用 hibernate 中的注释以及Together中的注释吗

例如:

@Column(nullable = false)
@Size(min =8, max = 12)
@NotNull(message = "Phone Number must be entered")
private String phoneNumber;
Run Code Online (Sandbox Code Playgroud)

在这里,我指定该列通过 hibernate 和 bean 验证不能为空。

这是一个好的做法吗?

或者是否有其他方法可以在休眠中验证数据,而无需像这样的 bean 验证?

java hibernate javabeans

2
推荐指数
1
解决办法
1927
查看次数

在 Django 模型中添加一对多关系

我的 Django-REST 应用程序中有两个模型。

一个ProjectRequest和一个ContactRequest

我想让每个人都这样Projectrequest contains a list of the refered Contactrequests.

class ProjectRequest(models.Model):
project_name = models.CharField(max_length=50)
company_name = models.CharField(max_length=50)
#make array of technologiestechnologies = models.ArrayField(base_field=) (blank=True)
project_description = models.CharField(max_length=200)
project_type = models.CharField(max_length=30)
budget_estimation = models.IntegerField(
    default=1000,
    validators=[
    MinValueValidator(1800),
    MaxValueValidator(5000000)
])
#time_estimation = models.DateTimeField(default=None, blank=True, null=True)


class ContactRequest(models.Model):
topic = models.CharField(max_length=30)
description = models.CharField(max_length=200)
time = models.CharField(max_length=15)
project_request = models.ForeignKey(ProjectRequest, 
on_delete=models.CASCADE)
Run Code Online (Sandbox Code Playgroud)

到目前为止,我已经与外键建立了关系,到目前为止效果良好。不过,我想扩展功能,以便 ProjectRequest 包含所有项目请求的列表。我尝试过几个不同的字段,但没有任何运气,并且文档我只能找到ManyToMany和 的字段OneToOne。如何才能实现这一目标?

python django model one-to-many

2
推荐指数
1
解决办法
5164
查看次数

如何从 Flask 在 SQLAlchemy 中重新创建数据库?

我正在使用 Flask 项目中的 SQLAlchemy ORM 框架。我想在我的一个模型中添加另一列。在我这样做之后,我曾经db.session.drop_all()删除数据库中的所有当前条目,然后我尝试使用新字段重新创建一个新实例。

每当我尝试时,我都会收到此错误

sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) no 
such table: user
[SQL: SELECT user.id AS user_id, user.username AS user_username, user.email AS user_email, user.password AS user_password, user.image_file AS user_image_file 
FROM user]
Run Code Online (Sandbox Code Playgroud)

我想我可能需要以某种方式重建数据库,但我不确定如何。我查看了文档,但找不到任何有用的东西。

__init__.py

app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///site.db'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
Run Code Online (Sandbox Code Playgroud)

模型.py

class User(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    username = db.Column(db.String(20), unique=True, nullable=False)
    email = db.Column(db.String(40), unique=True, nullable=False) #newly added field
    password = db.Column(db.String(60), nullable=False)
    image_file = db.Column(db.String(20), nullable=False, default='default.jpg')
    messages = db.relationship('Message', backref='user', lazy=True)
Run Code Online (Sandbox Code Playgroud)

python sqlalchemy flask

2
推荐指数
1
解决办法
4114
查看次数

在 Typescript 中定义枚举类型的数组

我创建了一个 Typescript DTO,我想在其中确保字符串列表(源自枚举类型)的类型安全。



export class ConnectedUserWithPhotosDTO extends UserWithPhotosDTO {
  userTags: keyof User["userTags"][]

  constructor(user: User, photos: ResponsePhotoDTO[]) {
    super(user, photos)
    console.log(user.userTags)
    this.userTags = user.userTags;
  }
}

Run Code Online (Sandbox Code Playgroud)

打字稿编译器抱怨以下错误:

Type 'UserTags[]' is not assignable to type 'number | keyof UserTags[][]'.

显然, 的值userTags评估为

number | keyof UserTags[][]
Run Code Online (Sandbox Code Playgroud)

这是我定义的枚举定义。

number | keyof UserTags[][]
Run Code Online (Sandbox Code Playgroud)

在 User 类中UserTags定义为:

 @ApiProperty({ enum: UserTags, isArray: true, default: [] })
  @Column('enum', { enum: UserTags, array: true, nullable: true, default: [] })
  userTags: UserTags[]
Run Code Online (Sandbox Code Playgroud)

如何仅定义keyof特定枚举值的类型?

typescript

2
推荐指数
1
解决办法
7896
查看次数

@RestController 自动序列化 POJO

我有一个 Spring mvc 应用程序,@RestController类似于:

@RestController
@RequestMapping("levels")
public class LevelController {

  private final GetLevelOneCount getLevelOneCount;

  private final GetLevelTwoCount getLevelTwoCount;

  private final GetLevelThreeCount getLevelThreeCount;

  @Inject
  public LevelController(GetLevelOneCount getLevelOneCount, 
      GetLevelTwoCount getLevelTwoCount,
      GetLevelThreeCount getLevelThreeCount) {
    this.getLevelOneCount = getLevelOneCount;
    this.getLevelTwoCount = getLevelTwoCount;
    this.getLevelThreeCount = getLevelThreeCount;
  }


  @GetMapping("/level1/{id}")
  public LevelModel levelOne(@PathVariable String id) throws SQLException {
    LevelModel levelOneModel = new LevelModel();

    levelOneModel.setLevelQuery(getLevelOneCount.execute(id));
    levelOneModel.setLevelDirQuery(getLevelOneCount.executeDir(id));
    levelOneModel.setLevelDateQuery(getLevelOneCount.executeDate(id));

    return levelOneModel; 
}
Run Code Online (Sandbox Code Playgroud)

LevelModel是一个带有私有变量的 POJO,现在我想知道,这是否可以序列化为带有私有变量的 propper JSON?

package com.pwc.tag.service.levels;

public class LevelModel {

    private Long LevelQuery;

    private Long …
Run Code Online (Sandbox Code Playgroud)

java rest spring spring-boot

1
推荐指数
1
解决办法
63
查看次数