我在核心数据中有一个具有2个属性的实体.一个是名为"name"的字符串,另一个是名为"message"的字符串.我需要一种方法来为用户添加的所有属性创建文本文件.我不希望文件名是name属性,内容是message属性.如果有人知道怎么做,任何帮助都会很棒.
谢谢你的帮助
我刚刚开始掌握实体框架,并且对简单实体到各个表的映射没有任何问题,但现在我遇到了一个让我难过的更高级的场景.
我有以下POCO
public class Group
{
public int GroupId {get; set;}
public string GroupName {get; set;}
public virtual ICollection<EventTypePreference> Preferences {get; set;}
}
public class EventType
{
public int EventTypeId {get; set;}
public string EventTypeName {get; set;}
public string EventColor {get; set;}
}
public class EventTypePreference
{
public int GroupId {get; set;}
public int EventTypeId {get; set;}
public virtual Group Group {get; set;}
public virtual EventType EventType {get; set;}
public int EventLength {get; set;}
}
Run Code Online (Sandbox Code Playgroud)
在我的模型中,Group将有许多EventTypePreferences(每个EventType有一个首选项记录).EventTypePreferences是数据库中的一个表,其匹配列与其对应的POCO相同.此外,在数据库中,EventTypePreference表使用基于GroupId和EventTypeId的复合主键.
所以说Group表有以下行(GroupId,GroupName)......
1, Human Resources …Run Code Online (Sandbox Code Playgroud) 我正在使用a Comparator来对viewcoped托管bean中List<Entity>的它的属性(类型Date)进行排序.
问题是我一直得到ClassCastException如下 -
java.lang.ClassCastException:pkg.db.BaseArStatus无法强制转换为pkg.db.BaseArStatus.
为什么不能投BaseArStatus来BaseArStatus?是因为BaseArStatus是Entity吗?
这个问题对我来说真的很奇怪,因为我每次都没有得到例外.在构建和部署应用程序时,大多数工作正常(运行没有任何问题)但有时(即使我做同样的事情 - 构建和部署)它在运行时失败了ClassCastException.
为什么这种情况有时只发生而不是一直发生?是因为我在托管bean中使用它吗?
这就是托管bean的样子 -
@ManagedBean
@ViewScoped
public class MyBean {
@PersistenceContext(unitName = "myPU")
private EntityManager em;
public void myMethod() {
List<BaseArStatus> basList = this.fetchAllBaseArStatus();
Collections.sort(basList, new Comparator<BaseArStatus>() {
@Override
public int compare(BaseArStatus o1, BaseArStatus o2) {
return o1.getMonthDate().compareTo(o2.getMonthDate());
}
});
//...
Run Code Online (Sandbox Code Playgroud)
而实体BaseArStatus-
@Entity
@Table(name = "base_ar_status")
@NamedQueries({ …Run Code Online (Sandbox Code Playgroud) 我在Spring配置中遇到问题,创建了一个扩展AnnotationSessionFactoryBean的bean.
这是类的定义:
public class ExtendedAnnotationSessionFactoryBean extends AnnotationSessionFactoryBean {
private String[] basePackages;
private ClassLoader beanClassLoader;
@Override
public void afterPropertiesSet() throws Exception {
System.out.println("ExtendedAnnotationSessionFactoryBean, in afterPropertiesSet");
Collection<Class<?>> entities = new ArrayList<Class<?>>();
ClassPathScanningCandidateComponentProvider scanner = this.createScanner();
for (String basePackage : this.basePackages) {
this.findEntities(scanner, entities, basePackage);
}
this.setAnnotatedClasses(entities.toArray(new Class<?>[entities.size()]));
super.afterPropertiesSet();
}
private ClassPathScanningCandidateComponentProvider createScanner() {
System.out.println("ExtendedAnnotationSessionFactoryBean, in createScanner");
ClassPathScanningCandidateComponentProvider scanner = new ClassPathScanningCandidateComponentProvider(false);
scanner.addIncludeFilter(new AnnotationTypeFilter(Entity.class));
return scanner;
}
private void findEntities(ClassPathScanningCandidateComponentProvider scanner,
Collection<Class<?>> entities, String basePackage) {
System.out.println("ExtendedAnnotationSessionFactoryBean, in findEntities");
Set<BeanDefinition> annotatedClasses = scanner.findCandidateComponents(basePackage); …Run Code Online (Sandbox Code Playgroud) Commuity,
我使用FosUserBundle,我的用户名有问题.
在我的页面上,您只需要一封电子邮件和一个密码.=>你可以使用用户名!(因为那样,我无法使用setUsername($ email)^^覆盖实体中的setEmail()函数
如果我在我的配置中使用它,我会收到以下错误.
fos_user:
registration:
form:
validation_groups: [AppRegistration]
Run Code Online (Sandbox Code Playgroud)
错误:
SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'username' cannot be null
Run Code Online (Sandbox Code Playgroud)
我能做什么?
先感谢您!
Twitter会自动缩短通过api发布的t.co/???链接到链接.但是,您可以使用链接实体Twitter实体文档来屏蔽链接.但是,我找不到这个问题的任何明确答案:
实体的长度是否显示链接计数到140个字符,还是只计算t.co链接长度?
例:
39个字符
Hello this url is shortened: t.co/abcde
Run Code Online (Sandbox Code Playgroud)
此示例仍然链接到t.co/abcde但是长度为54个字符
Hello this url is shortened: www.entity-masked-url.com
Run Code Online (Sandbox Code Playgroud)
使用实体时哪一个是正确的长度?
有时您想要解析一些格式合理的HTML页面,但是您不愿意引入额外的库依赖项,例如BeautifulSoup或lxml.因此,您可能希望首先尝试内置的ElementTree,因为它是一个标准库,它很快(在C中实现),并且它支持比基本HTMLParser更好的接口(例如XPATH支持).更不用说,HTMLParser有其自身的局限性.
ElementTree将工作,直到它遇到某些实体,例如 ,默认情况下不处理的实体.
import xml.etree.ElementTree as ET
html = '''<html>
<div>Some reasonably well-formed HTML content.</div>
<form action="login">
<input name="foo" value="bar"/>
<input name="username"/><input name="password"/>
<div>It is not unusual to see in an HTML page.</div>
</form></html>'''
et = ET.fromstring(html)
Run Code Online (Sandbox Code Playgroud)
在Python 2或Python 3上运行它,您将看到此错误:
xml.etree.ElementTree.ParseError: undefined entity: line 7, column 38
Run Code Online (Sandbox Code Playgroud)
那里有一些问答,比如这个和那个问答.他们暗示使用ElementTree.XMLParser().parser.UseForeignDTD(True)但我无法在Python 3.3和Python 3.4中使用它.
$ python3.3
Python 3.3.5 (v3.3.5:62cf4e77f785, Mar 9 2014, 01:12:57)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type …Run Code Online (Sandbox Code Playgroud) 这是我在DDD上的第一次尝试,我想获得有关建模问题的建议。
这是我的专长:多所学校的管理。
2017-2018的实例)我的第一个疑问是对schoolYear的建模。
我已经将学校实体作为根集合。我的第一个方法是让学校聚合处理增加的schoolYear(这样我就可以避免重复,或者可以创建下一个schoolYear,……)
=> schoolYear是学校总数的一部分
但是后来我不得不对课程和学生分数进行建模……这取决于学校的年份。
因此,在我的所有班级中,我必须保留对schoolYear的引用……这违反了规定
“无法从外部汇总中引用内部实体。”
在我的领域中,很多实体都取决于特定的SchoolYear。也许应该是一个汇总……
另一方面,给定班级的schoolYear用于搜索班级。
我可以获取有关此建模问题的一些建议吗?
另一个有疑问的问题是关于schoolYear的身份。
有什么建议吗?
非常感谢您帮助我进入DDD世界!
我的问题很简单,但是我找不到很好的答案,我有一个由命令行创建的实体:
php bin /控制台make:entity
此实体是属性很少的用户(名称-电子邮件-密码)
插入字段后,我进行了迁移,因此已经使用以下命令行在数据库中创建了我的表:
php bin /控制台make:migration
PHP的斌/控制台学说:迁移:迁移
但是现在我只想将名称更改为用户名,但我不知道该怎么做。
我没有在文档中找到任何内容,因此任何帮助将不胜感激。
entity ×10
html ×2
symfony ×2
api ×1
attributes ×1
cocoa ×1
comparator ×1
core-data ×1
duplicates ×1
elementtree ×1
hibernate ×1
java ×1
jsf-2 ×1
mapping ×1
maxlength ×1
null ×1
parsing ×1
php ×1
python ×1
reference ×1
spring ×1
symfony4 ×1
text-files ×1
twitter ×1